所以我放弃了在python中使用UI的新功能。我并没有真正掌握核心概念,我认为这个简单的问题将有助于打开电灯开关。
如下面的代码片段所示,我导入了一个用Qt制作的ui文件。这个ui上面有一个按钮。如何在该按钮上进行点击事件?我已经学习了如何编写按钮并使用它的教程。我明白那个。这是如何访问对象和操纵由ui文件创建的对象的问题。我真正想要做的是在单击按钮时查看如何执行函数(或实例化类或其他)。那个功能是我写的。宝贝步骤虽然。任何答案和阐述将不胜感激。
import sys
from PyQt4 import QtGui, uic, QtCore
class MyWindow(QtGui.QMainWindow):
def __init__(self):
super(MyWindow, self).__init__()
uic.loadUi('myWidget.ui', self)
self.show()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = MyWindow()
sys.exit(app.exec_())
像我说的那样。这是一个非常简单的问题,但我并没有真正掌握核心概念。谢谢你。
答案 0 :(得分:4)
self.ui=uic.loadUi('curveViewer.ui', self)
#where `your_pushbutton` is the button name specified in your .ui file:
self.ui.your_pushbutton.clicked.connect(self.onBtnClicked)
或只是:
uic.loadUi('curveViewer.ui', self)
self.your_pushbutton.clicked.connect(self.onBtnClicked)
然后在您的班级onBtnClicked
中定义方法MyWindow
:
def onBtnClicked():
print 'pushbutton clicked'
请参阅New-style Signal and Slot Support
顺便说一下,最好删除self.show()
,并将其删除:
window = MyWindow()
window.show()