Python PyQt4和xFF1A;Can‘;当我写第一个代码时,我不能打开我的对话框

Python PyQt4和xFF1A;Can‘;当我写第一个代码时,我不能打开我的对话框,python,qt,pyqt,Python,Qt,Pyqt,我想用PyQt4构建一个对话框。我的编译环境是Qt4、Python2和PyQt4。 我为我的工作做了一些事情。 1.我使用Qt Designer和名为dialog.UI的UI文件完成UI。 2.我使用命令“pyuic-o ui_dialog.py dialog.ui”来生成名为ui_dialog.py的python文件。 ui_dialog.py的代码为 # -*- coding: utf-8 -*- # Form implementation generated from reading u

我想用PyQt4构建一个对话框。我的编译环境是Qt4、Python2和PyQt4。 我为我的工作做了一些事情。 1.我使用Qt Designer和名为dialog.UI的UI文件完成UI。 2.我使用命令“pyuic-o ui_dialog.py dialog.ui”来生成名为ui_dialog.py的python文件。 ui_dialog.py的代码为

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

# Form implementation generated from reading ui file 'dialog.ui'
#
# Created by: PyQt4 UI code generator 4.11.4
#
# WARNING! All changes made in this file will be lost!

from PyQt4 import QtCore, QtGui

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_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(516, 378)
        self.verticalLayoutWidget = QtGui.QWidget(Dialog)
        self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 13, 501, 361))
        self.verticalLayoutWidget.setObjectName(_fromUtf8("verticalLayoutWidget"))
        self.verticalLayout = QtGui.QVBoxLayout(self.verticalLayoutWidget)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.label_recieve = QtGui.QLabel(self.verticalLayoutWidget)
        self.label_recieve.setObjectName(_fromUtf8("label_recieve"))
        self.verticalLayout.addWidget(self.label_recieve)
        self.textBrowser_recieve = QtGui.QTextBrowser(self.verticalLayoutWidget)
        self.textBrowser_recieve.setObjectName(_fromUtf8("textBrowser_recieve"))
        self.verticalLayout.addWidget(self.textBrowser_recieve)
        self.label_send = QtGui.QLabel(self.verticalLayoutWidget)
        self.label_send.setObjectName(_fromUtf8("label_send"))
        self.verticalLayout.addWidget(self.label_send)
        self.textEdit_send = QtGui.QTextEdit(self.verticalLayoutWidget)
        self.textEdit_send.setObjectName(_fromUtf8("textEdit_send"))
        self.verticalLayout.addWidget(self.textEdit_send)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.pushButton_send = QtGui.QPushButton(self.verticalLayoutWidget)
        self.pushButton_send.setObjectName(_fromUtf8("pushButton_send"))
        self.horizontalLayout.addWidget(self.pushButton_send)
        self.verticalLayout.addLayout(self.horizontalLayout)

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(_translate("Dialog", "chat", None))
        self.label_recieve.setText(_translate("Dialog", "recieve", None))
        self.label_send.setText(_translate("Dialog", "send", None))
        self.pushButton_send.setText(_translate("Dialog", "SEND", None))
3.我尝试编写main.py文件并编译它。 我的main.py代码是

'''
title:chat dialog
author:CCBANG
virsion:0.1
'''
from PyQt4 import QtCore,QtGui 
import sys
from ui_dialog import *

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 ChatDialog(QtGui.QDialog):
        def __init__(self,parent=None):
                QtGui.QDialog.__init__(self,parent)                
                self=Ui_Dialog()

if __name__=='__main__':
    app = QtGui.QApplication(sys.argv)
    myqq=ChatDialog()
    myqq.show()
    sys.exit(app.exec_())
在main.py中,我不知道如何在“类对话”中编写“setupUI()”


我如何完成我的代码?如果你能帮助我,我会很高兴的。感谢使用Qt Designer创建的python文件的这种方法,通常情况下,您的类将继承
Ui\u对话框

class ChatDialog(QtGui.QDialog, Ui_Dialog):

    def __init__(self, parent=None):
        QtGui.QDialog.__init__(self, parent)                
        self.setupUi(self)
有时,人们不会继承,但会将其分配给类的属性:

class ChatDialog(QtGui.QDialog):

    def __init__(self, parent=None):
        QtGui.QDialog.__init__(self, parent)                
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)

谢谢你的回答。我从你的回答中知道了两种继承方式。