Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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文件_Python_Pyqt4 - Fatal编程技术网

运行python文件

运行python文件,python,pyqt4,Python,Pyqt4,我正在处理pyqt4和python26应用程序。我使用qt设计器(.ui文件)创建表单。 我将它们转换为.py和.pyc文件。但是,当我尝试运行.py文件时,python命令行在一秒钟内出现并消失,无法看到表单(对应的.ui文件)…有什么问题 这是我的代码:(.py文件) python代码只是导入一些模块,然后定义一个新类。不过,它对定义的类没有任何作用。换句话说,一旦Python创建完新类,它就完成了,并且退出了 我根本不知道PyQT,但很可能需要启动GUI的主循环,并实例化新类的实例并将其传

我正在处理pyqt4和python26应用程序。我使用qt设计器(.ui文件)创建表单。 我将它们转换为.py和.pyc文件。但是,当我尝试运行.py文件时,python命令行在一秒钟内出现并消失,无法看到表单(对应的.ui文件)…有什么问题

这是我的代码:(.py文件)


python代码只是导入一些模块,然后定义一个新类。不过,它对定义的类没有任何作用。换句话说,一旦Python创建完新类,它就完成了,并且退出了

我根本不知道PyQT,但很可能需要启动GUI的主循环,并实例化新类的实例并将其传递给PyQT

首先,不要使用:

from PyQt4.QtCore import * 
from PyQt4.QtGui import *
相反:

from PyQt4 import QtCore, QtGui
并显式引用模块

class DlgAbout(QtGui.QDialog, Ui_DlgAbout):
等等

在代码中,您所做的只是定义一个对话框。您还没有定义任何要运行的主应用程序,也没有定义任何显示对话框的方式

例如,下面是要运行的基本主应用程序:

这定义了一个主窗口和一个窗体(如您所见,MyMainWindow设置了该窗体)。 然后,我检查这是否是正在运行的主文件(
,如果
名称),然后启动应用程序(
app=QtGui.QApplication([])
,创建主窗口,并显示主窗口


在您的情况下,您可以像我一样定义一个主应用程序,当我在类FormWidget(QtGui.QWidget)中声明QDialog时,让它提醒您的QDialog。

:,它给出的错误是NameError:global name'QDialog'未定义……请帮助我…尝试
QtGui.QDialog
。您还需要将pixmap更改为
QtGui.QPixmap
。这就是我明确引用模块的意思;)
class DlgAbout(QtGui.QDialog, Ui_DlgAbout):
from PyQt4 import QtGui
import sys


class MyMainWindow(QtGui.QMainWindow):

    def __init__(self, parent=None):

        super(MyMainWindow, self).__init__(parent)
        self.form_widget = FormWidget(self)
        self.setCentralWidget(self.form_widget)


class FormWidget(QtGui.QWidget):

    def __init__(self, parent):
        super(FormWidget, self).__init__(parent)
        self.layout = QtGui.QVBoxLayout(self)

        self.button = QtGui.QPushButton("Button!")
        self.layout.addWidget(self.button)


if __name__ == "__main__":
    app = QtGui.QApplication([])
    foo = MyMainWindow()
    foo.show()
    sys.exit(app.exec_())