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