【发布时间】:2014-01-25 06:39:25
【问题描述】:
我的程序有两个窗口,主窗口和设置。
当我在 settings.py 文件中的 QLineEdit 上运行 setText 时,新字符串不在 GUI 中,我可以在 setText 代码之前看到该字符串。
当我将相同的代码放入从 Qt Designer 生成的 settingsUI 文件中时,它可以工作。但在 settings.py 中没有。
设置文件是包含 SettingsWindow 类的文件,我可以将真正的 python 代码放入其中。
settingsUI 文件是包含 GUI 的文件,我使用 pyuic4(或 pyuic5)生成它。
此代码适用于 settingsUI 文件:self.browse_file.setText("safa")
但在设置文件中不起作用。
--更新--
import sys
from PyQt4 import QtCore, QtGui
from settingsui import Ui_Dialog
class SettingsWindow(QtGui.QDialog, Ui_Dialog):
def __init__(self):
QtGui.QDialog.__init__(self)
Ui_Dialog.__init__(self)
self.setupUi(self)
self.lineEdit.setText("safa")
print self.lineEdit.text()
之后:self.lineEdit.setText("safa"),我在 QLineEdit 中看不到任何文本。print self.lineEdit.text() 输出文本“safa”
【问题讨论】:
-
“不起作用”是什么意思?你能给我们看一些代码吗?
-
我的意思是我在 GUI 的 QLineEdit 中看不到新字符串“safa”,但是如果我打印
self.browse_file.text()我可以在终端中看到“safa”。 -
更多代码在这里可能会有所帮助
-
大多数人(包括我)不会下载档案来追踪您的问题。您可以考虑提取一个完整的最小问题示例(从您的问题中我会说大约 20 行......)