Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 访问pyQt创建的QtGui对象_Python_Qt4_Pyqt - Fatal编程技术网

Python 访问pyQt创建的QtGui对象

Python 访问pyQt创建的QtGui对象,python,qt4,pyqt,Python,Qt4,Pyqt,因此,我不再使用python中的UI了。我没有真正掌握一个核心概念,我认为这个简单的问题将有助于打开电灯开关 如下面的代码片段所示,我导入了一个用Qt制作的ui文件。此ui上有一个按钮。如何在该按钮上创建单击事件?我已经阅读了有关如何编写按钮并使用它的教程。我明白。问题是如何访问对象和操作由ui文件创建的对象。我真正想做的是看看当点击按钮时如何执行一个函数(或实例化一个类或任何东西)。这个函数是我写的。不过是婴儿步。如有任何答复和详细说明,将不胜感激 import sys from Py

因此,我不再使用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_())
就像我说的。这是一个非常简单的问题,但我并没有真正理解这里的核心概念。谢谢你

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文件的基本知识,我不太确定。在我看来,最好是覆盖所有的基地!谢谢你的回答。这很有帮助。因此,您基本上是将按钮事件与另一个模块连接起来。我现在看到了这个过程。我确实知道按钮的名称,但谢谢你的澄清。