【发布时间】:2020-10-05 21:08:05
【问题描述】:
我的问题是我的 UI 中有一个名为 xxx.ui 的文件。然后正如许多人建议的那样,我创建了另一个名为 test.py 的 python 文件,我在其中放置了代码以使用我的 xxx.ui:
# imports
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import uic
import sys
class Ui(QtWidgets.QMainWindow):
def __init__(self):
super(Ui, self).__init__()
uic.loadUi('xxx.ui', self)
self.show()
app = QtWidgets.QApplication(sys.argv)
window = Ui()
app.exec_()
直到这个阶段一切正常。但是现在我想在程序启动时在我的 UI 中添加一个复选框,而不会弄乱 xxx.ui (因此该复选框将在程序运行时动态创建)。
我该怎么做???
提前谢谢你。
【问题讨论】:
-
我不确定我是否理解。你用 Designer 创建了那个 ui 文件,对吧?然后,再次打开它,添加您的复选框并保存。
-
我已经创建了 xxx.ui 文件,然后是我连接到该 ui 文件的 test.py 文件。但是因为我不想弄乱 xxx.ui 文件,所以我决定在 test.py 文件中动态添加该复选框,使 xxx.ui 文件保持不变。
-
我遇到的问题是:如何添加该复选框以及以后如何引用它(我知道我必须使用 findchild 或类似的东西)
-
我不知道谁告诉你必须使用 findChild,但只要你使用的是用 Designer 创建的 UI,你肯定不会,因为所有小部件都可以通过它们的对象访问名称(
self.pushButton、self.tableWidget、self.label_2等),在小部件树面板上可见。我强烈建议您阅读Designer documentation,因为您关于添加复选框的问题清楚地表明您需要澄清很多事情才能使用它。 -
设法弄明白了 :) 感谢您的帮助。