运行时错误报告缺少accept attribu

2024-09-27 00:23:01 发布

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

我正在和Python。什么时候我试着DlgDbError.py文件,它会给我错误的提示:

File "C:\rt_sql_layer\ui\DlgDbError_ui.py", line 47, in setupUi
    QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), DlgDbError.accept)
AttributeError: 'DlgDbError' object has no attribute 'accept'

但是按钮盒有接受方法..会是什么问题??在


Tags: 文件inpylayeruisql错误line
3条回答

也许应该是self.buttonBox.accept而不是{},那么呢?在

错误不在您的DlgDbError.py文件中,而是在使用pyuic4创建的DlgDbError_ui.py模块中。在

这个模块将包含一个Ui_DlgDbError类和一个setupUi方法。这个方法有一个参数(名为DlgDbError),它接受您在Qt Designer中创建的主窗体类的一个实例(即,也叫DlgDbError)。在

setupUi方法期望DlgDbError对象有一个accept()槽,这可能意味着它应该是QDialog的子类。在

显然,您没有将QDialog的子类传递给setupUi,因此您得到了一个AttributeError。在

你可能需要这样做:

from DlgDbError_ui import Ui_DlgDbError

class MyDlgDbError(Ui_DlgDbError):
    def __init__(self, parent=None)
        self.dialog = QtGui.QDialog(parent)
        self.setupUi(self.dialog)
        ...

行应该是:

QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), DlgDbError.accept)

即。QtCore.信号(“accepted()”)实际上应该是QtCore.信号(_fromUtf8(“accepted()”)

其中:

^{pr2}$

相关问题 更多 >

    热门问题