似乎无法从mainWindow调用自定义对话框。 PySide

时间:2013-07-02 18:23:42

标签: python qt pyqt pyside qt-designer

我需要通过主窗口上的按钮插槽调用表单(使用QtDesigner设计的自定义对话框)(也在QtDesigned上,因此是单独的文件)。以下是相关代码:

def __init__(self, parent = None):
    super(MainWindow, self).__init__(parent)

    self.setupUi(self)

    self.btn.clicked.connect(self.my_func)


def my_func(self):
    form = Form_UI.Custom_Dialog()

    if form.exec_():
        print "successfully opened"

我怎么会收到以下错误:

Traceback (most recent call last):
File "F:\myPath\code.py", line 27, in my_func
if form.exec_():
AttributeError: 'Custom_Dialog' object has no attribute 'exec_'

我不明白,因为下面的代码(使用内置的Dialog)工作正常:

def __init__(self, parent = None):
    super(MainWindow, self).__init__(parent)

    self.setupUi(self)

    self.btn.clicked.connect(self.my_func)


def my_func(self):
    form = QtGui.QDialog()

    if form.exec_():
        print "successfully opened"

任何帮助将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

pyuic4生成的类不是从QDialog派生的,所以如果你没有像为主窗口那样为该ui文件编写python类,则需要创建一个{ {1}}对象和一个ui类对象:

QDialog