我在linux 32位计算机上安装了Qt5.3(32位)安装程序。
然后我安装了最新版本的sip - sip4.16.4
然后我从http://www.riverbankcomputing.co.uk/software/pyqt/download
在我的电脑上安装了python2.7和python3.2版本。当我尝试使用python2.7安装时,我遇到了一些错误。然后我尝试用pthon3.2安装它。没有发生错误,我使用python3.2
我安装了py2.7-dev和py3.2-dev软件包。
gdb,gcc,g ++,python2.7,python3.2,build-essential all安装在我的电脑上。
我从软件中心安装了Qt Designer。
然后我按照教程的说明放了一个简单的按钮:http://www.youtube.com/watch?v=GLqrzLIIW2E
然后,我保存example.ui
然后,我在终端中给出以下命令:pyuic4 example.ui> example.py。它将.ui文件转换为.py文件。然后我在上面讲述的youtube教程中进行必要的修改。
- 当我使用python3.2运行python文件的最终版本时,它会出错:
Traceback (most recent call last):
File "outFile_ui.py", line 12, in <module>
from PyQt4 import QtCore, QtGui
ImportError: cannot import name QtGui
- 为什么我接受此错误?我认为问题是在不匹配的版本或安装等。但我一次又一次安装。没有什么改变不幸。我在网上搜索了所有关于这个问题的信息。存在类似的问题,但它们都不适用于我。
如果你想看到我在终端上运行的python文件,它是:
from PyQt4 import QtCore, QtGui
import sys
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)
class Ui_Form(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.setupUi(self)
def setupUi(self, Form):
Form.setObjectName(_fromUtf8("Form"))
Form.resize(400, 300)
self.horizontalLayout = QtGui.QHBoxLayout(Form)
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
self.verticalLayout = QtGui.QVBoxLayout()
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.printHam_btn = QtGui.QPushButton(Form)
self.printHam_btn.setObjectName(_fromUtf8("printHam_btn"))
self.verticalLayout.addWidget(self.printHam_btn)
self.horizontalLayout.addLayout(self.verticalLayout)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
Form.setWindowTitle(_translate("Form", "Super Ham", None))
self.printHam_btn.setText(_translate("Form", "Print HAm", None))
self.printHam_btn.clicked.connect(self.printHam)
def printHam(self):
print ("Ham!")
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
ex = Ui_Form()
ex.show()
sys.exit(app.exec_())
答案 0 :(得分:1)
将.ui转换为.py代码后,需要添加一个main函数。正确添加主要功能后,它会完美运行。