使用PySide中的QUiLoader和UI文件在runtim上动态创建用户界面

2024-04-29 12:29:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我真的很难连接从PythonQt DesignerUI文件的插槽。 我已经完成了所有关于PySide(例如:http://zetcode.com/gui/pysidetutorial/eventsandsignals/)的教程

在代码中设置GUI非常简单,但我们确实希望使用Qt设计器和UI文件。

其他一些线程只是指向使用pyuic.ui文件转换为.py文件,但如果可能的话,我真的希望在运行时这样做。

这是我目前的密码。 我不知道如何将connectBtn连接到UI文件中的Connect

def initUI(self):      

    loader = QUiLoader()
    file = QFile("designer_test.ui")
    file.open(QFile.ReadOnly)
    myWidget = loader.load(file, self)
    #print(dir(myWidget))
    file.close()

    layout = QtGui.QVBoxLayout()
    layout.addWidget(myWidget)
    self.setLayout(layout)

    connectBtn = QtGui.QPushButton("Connect", self)

    connectBtn.clicked.connect(self.connectClicked)

    myWidget.setWindowTitle('Window')
    myWidget.show()

def connectClicked(self):
    print("works")

Tags: 文件selfuidefconnectloaderqtfile
2条回答

你检查过这个页面吗:Using a Designer UI File in Your Application

是C++,但我认为这些概念和你在Python中所做的一样。

根据该页面,要获取由Ui文件创建的小部件,需要调用findChild()。

还有,this question

我做这个是为了帮助我。。。请看一下。

相关问题 更多 >