【发布时间】:2018-11-17 13:53:21
【问题描述】:
我使用QtDesigner 构建了一个用户界面,然后将.ui 转换为.py。用户界面有不同的comboBox 和textBox,一旦单击“运行”按钮,我想从中读取值。运行一个函数,然后在计算完成后填充用户界面的其他文本框。但是,当我更改 comboBox 的值并单击按钮时,脚本仍会读取初始值。
我用一个带有两个项目和一个文本框的组合框做了一个简单的 GUI。我正在尝试读取组合框文本并根据所选项目设置文本框的文本。
这是我用来运行GUI 并读取值的代码:
from PyQt4 import QtGui
from pyQt4 import QtCore
import sys
import GUI
class MyThread(QtCore.QThread):
updated = QtCore.pyqtSignal(str)
def run(self):
self.gui = Window()
name = self.gui.gui_Name.currentText()
print (name)
if name == 'Cristina':
country = 'Italy'
else:
country = 'Other'
self.updated.emit(str(1))
class Window(QtGui.QMainWindow, GUI.Home):
def __init__(self,parent = None):
super(Window,self).__init__(parent)
self.setupUi(self)
self._thread = MyThread(self)
self._thread.updated.connect(self.updateText)
self.update()
self.
self.pushButton.clicked.connect(self._thread.start)
def updateText(self,text):
self.Country.setText(str(country))
有什么想法吗?
谢谢
【问题讨论】:
-
在不修改从 .ui 生成的 .py 的情况下,您认为有什么更好的方法?
-
这只是一个解释问题的示例,但完整的任务需要很长时间。