Python 访问pyQt创建的QtGui对象
因此,我不再使用python中的UI了。我没有真正掌握一个核心概念,我认为这个简单的问题将有助于打开电灯开关 如下面的代码片段所示,我导入了一个用Qt制作的ui文件。此ui上有一个按钮。如何在该按钮上创建单击事件?我已经阅读了有关如何编写按钮并使用它的教程。我明白。问题是如何访问对象和操作由ui文件创建的对象。我真正想做的是看看当点击按钮时如何执行一个函数(或实例化一个类或任何东西)。这个函数是我写的。不过是婴儿步。如有任何答复和详细说明,将不胜感激Python 访问pyQt创建的QtGui对象,python,qt4,pyqt,Python,Qt4,Pyqt,因此,我不再使用python中的UI了。我没有真正掌握一个核心概念,我认为这个简单的问题将有助于打开电灯开关 如下面的代码片段所示,我导入了一个用Qt制作的ui文件。此ui上有一个按钮。如何在该按钮上创建单击事件?我已经阅读了有关如何编写按钮并使用它的教程。我明白。问题是如何访问对象和操作由ui文件创建的对象。我真正想做的是看看当点击按钮时如何执行一个函数(或实例化一个类或任何东西)。这个函数是我写的。不过是婴儿步。如有任何答复和详细说明,将不胜感激 import sys from Py
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_())
就像我说的。这是一个非常简单的问题,但我并没有真正理解这里的核心概念。谢谢你
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'
看
顺便说一句,最好删除self.show()
,并使其:
window = MyWindow()
window.show()
或者只是:
uic.loadUi('curveViewer.ui', self)
self.your_pushbutton.clicked.connect(self.onBtnClicked)
然后在类中定义方法onBtnClicked
MyWindow
:
def onBtnClicked():
print 'pushbutton clicked'
看
顺便说一句,最好删除self.show()
,并使其:
window = MyWindow()
window.show()
uic.loadUi('myWidget.ui',self)
是否返回任何内容?就像布尔值一样?我的印象是,该命令刚刚从UI文件初始化了您的界面,它确实如此,从这里的另一个答案来看,它似乎返回了一个包含该UI的所有对象的对象。是否uic.loadUi('myWidget.UI',self)
返回任何东西?就像布尔值一样?我的印象是这个命令只是从你的UI文件初始化了你的界面,从这里的另一个答案来看,它似乎返回了一个包含该ui的所有对象的对象。您应该添加您的_按钮
应该与ui文件中指定的对象名称匹配。鉴于他们询问如何加载ui文件的基本知识,我不太确定。在我看来,最好是覆盖所有的基地!谢谢你的回答。这很有帮助。因此,您基本上是将按钮事件与另一个模块连接起来。我现在看到了这个过程。我确实知道按钮名称,但感谢您的澄清。您应该添加您的_按钮
应该与ui文件中指定的对象名称匹配。鉴于他们询问如何加载ui文件的基本知识,我不太确定。在我看来,最好是覆盖所有的基地!谢谢你的回答。这很有帮助。因此,您基本上是将按钮事件与另一个模块连接起来。我现在看到了这个过程。我确实知道按钮的名称,但谢谢你的澄清。