2014-11-24 25 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