小编Saf*_*aij的帖子

QLineEdit不使用setText更新

我有一个带有两个窗口的程序,分别是main和settings。
当我在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()
Run Code Online (Sandbox Code Playgroud)

之后:self.lineEdit.setText("safa"),我在QLineEdit中看不到任何文本。
print self.lineEdit.text()输出文本“ safa”

python qt pyqt

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

pyqt ×1

python ×1

qt ×1