我有一個程序,有兩個窗口,主要和設置。
當我在settings.py文件中的QLineEdit上運行setText時,新的字符串不在GUI中,我可以在setText代碼之前看到字符串。
當我將相同的代碼放在Qt Designer生成的settingsUI文件中時,它可以工作。但是在settings.py中沒有。
設置文件是包含SettingsWindow類的文件,我可以在其中放入真正的Python代碼。
settingsUI文件是包含GUI的文件,我使用pyuic4(或pyuic5)生成它。
這個代碼在settingsUI文件:
self.browse_file.setText("safa")
但在設置文件這麼想的工作。QLineEdit沒有更新setText
--UPDATE--
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()
輸出文本「薩法」
「不起作用」是什麼意思?你能告訴我們一些代碼嗎? – Hyperboreus
我的意思是我不能在GUI中的QLineEdit中看到新字符串「safa」,但是如果我打印'self.browse_file.text()',我可以在終端中看到「safa」。 –
一些更多的代碼可能在這裏有所幫助 – embert