Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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 如何使用PySide导入主窗口(.ui文件)_Python_Qt_Pyside_Qtgui_Qmainwindow - Fatal编程技术网

Python 如何使用PySide导入主窗口(.ui文件)

Python 如何使用PySide导入主窗口(.ui文件),python,qt,pyside,qtgui,qmainwindow,Python,Qt,Pyside,Qtgui,Qmainwindow,我正在做一个python项目,并使用PySide设计它的接口。 问题是如何使用PySide从Qt设计器导入主窗口(.ui文件)。 我的类是从QtGui.QMainWindow继承的 谢谢你的回答^^ 您需要使用 也就是说,您将使用记录在案的“加载”方法 您可以传递一个QIODevice子类作为第一个参数,例如一个QFile实例,您可以在其中打开.ui文件 假设Qt设计器中的顶级对象名为MainWindow 当您使用pyside uic生成GUI模块时,它将创建一个名为Ui\u MainWindo

我正在做一个python项目,并使用PySide设计它的接口。 问题是如何使用PySide从Qt设计器导入主窗口(.ui文件)。 我的类是从QtGui.QMainWindow继承的

谢谢你的回答^^

您需要使用

也就是说,您将使用记录在案的“加载”方法


您可以传递一个QIODevice子类作为第一个参数,例如一个QFile实例,您可以在其中打开
.ui
文件

假设Qt设计器中的顶级对象名为
MainWindow

当您使用
pyside uic
生成GUI模块时,它将创建一个名为
Ui\u MainWindow
的类。您需要将此类导入到主应用程序中。导入的类有一个
setupUi
方法,该方法用于将GUI注入Qt设计器中顶级类的实例中。因此,执行此操作的基本代码应该如下所示:

from PySide import QtCore, QtGui
from mainwindow import Ui_MainWindow

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.ui = Ui_MainWindow.setupUi(self)
       # connect a button to its handler
       self.ui.pushButton.clicked.connect(self.handleButtonClicked)
有了它,您可以从Qt Designer访问小部件,如下所示:

from PySide import QtCore, QtGui
from mainwindow import Ui_MainWindow

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.ui = Ui_MainWindow.setupUi(self)
       # connect a button to its handler
       self.ui.pushButton.clicked.connect(self.handleButtonClicked)
要运行应用程序,您可以执行以下操作:

if __name__ == '__main__':

    import sys
    app = QtGui.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

我不确定我的代码出了什么问题。我使用pyside uic从.ui文件生成.py文件。谢谢你的回答。我认为这对其他人可能有用@Laszlo PappI已经使用了这种方法,而且它是有效的。谢谢你的回答