PyQt4:写第一个Cod时无法打开对话框

2024-04-26 18:13:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用PyQt4建立一个对话,我的编译环境是Qt4、Python2和PyQt4。 我为我的工作做了些什么。 1.我用Qt Designer和名为对话框.ui. 2.我使用命令“pyuic-oui_对话框.py对话框.ui“将python文件命名为ui_对话框.py. 用户界面代码_对话框.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.我试着写主.py归档并编译。 我的代码主.py是

^{pr2}$

在主.py,我不知道如何在“Class ChatDialog”中编写“setupUI()”

如何完成代码?如果你能帮我,我会很高兴的。谢谢


Tags: pyselfsenduilabeltranslatedialog对话框
1条回答
网友
1楼 · 发布于 2024-04-26 18:13:17

使用这种使用Qt Designer创建的python文件的方法,通常,您的类将继承Ui_Dialog类。在

class ChatDialog(QtGui.QDialog, Ui_Dialog):

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

有时,人们不会继承,但会将其赋给类的一个属性:

^{pr2}$

相关问题 更多 >