用threading PyQt5做一个 获取文本框 内容
时间: 2024-02-13 16:02:27 浏览: 79
python TKinter获取文本框内容的方法
好的,下面是一个简单的示例代码,可以实现在PyQt5中使用threading获取文本框内容:
```python
import sys
import threading
from PyQt5 import QtWidgets, QtCore
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("获取文本框内容")
self.setGeometry(100, 100, 300, 200)
# 创建文本框和按钮
self.textbox = QtWidgets.QLineEdit(self)
self.textbox.setGeometry(50, 50, 200, 30)
self.button = QtWidgets.QPushButton("获取内容", self)
self.button.setGeometry(50, 100, 100, 30)
self.button.clicked.connect(self.start_thread)
def start_thread(self):
# 创建线程
self.thread = threading.Thread(target=self.get_textbox_content)
self.thread.daemon = True
self.thread.start()
def get_textbox_content(self):
# 获取文本框内容
content = self.textbox.text()
print("文本框内容:", content)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个`QLineEdit`文本框和一个`QPushButton`按钮。当点击按钮时,会启动一个新的线程,在该线程中获取文本框的内容,并将其打印出来。注意,在创建线程时,我们将其设置为守护线程,这样当主线程退出时,守护线程也会随之退出,避免出现僵尸线程。
阅读全文