2014-11-24 1273 views
1

这是我的填充 通过使用PyQt4的 和Python 2.7PyQt的 'Ui_Form' 对象有没有属性 '秀'

# -*- coding: utf-8 -*- 

# Form implementation generated from reading ui file 'editgui.ui' 
# 
# Created: Mon Nov 24 17:33:07 2014 
#  by: PyQt4 UI code generator 4.11.3 
# 
# WARNING! All changes made in this file will be lost! 

from PyQt4 import QtCore, QtGui 
import PyQt4 
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(object): 

    def setupUi(self, Form): 
     Form.setObjectName(_fromUtf8("Form")) 
     Form.setEnabled(True) 
     Form.resize(1032, 779) 
     Form.setMinimumSize(QtCore.QSize(1032, 779)) 
     Form.setMaximumSize(QtCore.QSize(1032, 779)) 
     self.textEdit = QtGui.QTextEdit(Form) 
     self.textEdit.setGeometry(QtCore.QRect(90, 110, 361, 221)) 
     self.textEdit.setObjectName(_fromUtf8("textEdit")) 
     self.textEdit_2 = QtGui.QTextEdit(Form) 
     self.textEdit_2.setGeometry(QtCore.QRect(90, 430, 361, 261)) 
     self.textEdit_2.setObjectName(_fromUtf8("textEdit_2")) 
     self.lineEdit = QtGui.QLineEdit(Form) 
     self.lineEdit.setGeometry(QtCore.QRect(90, 380, 361, 20)) 

... self.label_6.setGeometry(pyuic 即时生成验证码QtCore.QRect(510,90,46,13)) self.label_6.setObjectName(_fromUtf8( “label_6”))

 self.retranslateUi(Form) 
     QtCore.QObject.connect(self.lineEdit_2, QtCore.SIGNAL(_fromUtf8("textChanged(QString)")), self.pushButton.show) 
     QtCore.QObject.connect(self.textEdit, QtCore.SIGNAL(_fromUtf8("textChanged()")), self.pushButton.show) 
     QtCore.QObject.connect(self.lineEdit, QtCore.SIGNAL(_fromUtf8("textChanged(QString)")), self.pushButton.show) 
     QtCore.QObject.connect(self.textEdit_2, QtCore.SIGNAL(_fromUtf8("textChanged()")), self.pushButton.show) 
     QtCore.QObject.connect(self.lineEdit_3, QtCore.SIGNAL(_fromUtf8("textChanged(QString)")), self.pushButton.show) 
     QtCore.QMetaObject.connectSlotsByName(Form) 

    def retranslateUi(self, Form): 
     Form.setWindowTitle(_translate("Form", "Form", None)) 
     self.label.setText(_translate("Form", "titel", None)) 
     self.label_2.setText(_translate("Form", "beschrijving", None)) 
     self.label_3.setText(_translate("Form", "frans", None)) 
     self.label_4.setText(_translate("Form", "titel", None)) 
     self.label_5.setText(_translate("Form", "beschrijving", None)) 
     self.pushButton.setText(_translate("Form", "save", None)) 
     self.pushButton_2.setText(_translate("Form", "run", None)) 
     self.label_6.setText(_translate("Form", "website", None)) 

if __name__ == '__main__': 
    app = QtGui.QApplication(sys.argv) 
    ex = Ui_Form() 
    ex.show 
    sys.exit(app.exec_()) 

端是这样的错误我得到

Traceback (most recent call last): 
    File "C:\Users\IT4PROGRESS\Desktop\2dehands gui\output.py", line 99, in <module> 
    ex.show 
AttributeError: 'Ui_Form' object has no attribute 'show' 

我使用Python 2.7

+0

您的表单类需要继承某些Qt widget类,如'QDialog'或'QWidget'。 – 2014-11-24 19:22:55

+0

请阅读[相关文档](http://pyqt.sourceforge.net/Docs/PyQt4/designer.html),而不是在SO上转储代码。 – ekhumoro 2014-11-24 19:54:49

回答

3

首先,不要pyuic产生编辑文件。制作另一个.py文件并将其导入。这样,您可以直接创建一个基于QMainWindow的类,而不是尝试show()生成的UI文件,您可以运行show(),它将为您生成生成的ui文件。像这样:

import sys 
from PyQt4 import QtCore, QtGui 
from Ui_Form import Ui_Form 

class Main(QtGui.QMainWindow): 
    def __init__(self): 
     super(Main, self).__init__() 

     # build ui 
     self.ui = Ui_Form() 
     self.ui.setupUi(self) 

     # connect signals 
     self.ui.some_button.connect(self.on_button) 

    def on_button(self): 
     print 'Button clicked!' 


if __name__ == '__main__': 
    app = QtGui.QApplication(sys.argv) 
    main = Main() 
    main.show() 
    sys.exit(app.exec_()) 
+0

寻求帮助 – 2014-11-26 18:06:41

+0

如果你加载的文件,你需要做的写连接代码 – 2014-11-29 15:37:49

+0

你是什么意思? – 101 2014-11-29 20:16:57