PyQt:获取特定QWizard页面的ID

时间:2014-09-17 11:34:47

标签: python pyqt pyqt4 qwizard

我命令设计一个带有pyqt4的非线性向导我从nextId()重新实现了PyQt4.QtGui.QWizardPage函数。

self.page1.nextId = self.nextId_page1

def nextId_page1(self):
    if radio_button.isChecked():
        return 2

    return 3

上面的代码运行正常。但是当我在向导的开头插入另一个页面时,我需要更改上面函数中的返回值(2和3)。我有可能获得特定页面的ID吗?我想有类似的东西:

def nextId_page1(self):
    if radio_button.isChecked():
        return get_id_of_page(name_of_page_2)

    return get_id_of_page(name_of_page_3)

1 个答案:

答案 0 :(得分:1)

假设self引用QWizard:

def nextId_page1(self):
    if radio_button.isChecked():
        return self.currentId()+1

    return self.currentId()+2

这是一个简单的答案。

对于任意"转到页面":

请注意,使用setPage而不是addPage添加网页可让您明确为每个网页提供ID。 page(i)允许您按ID检索每个页面,pageIds获取当前使用的ID列表;它似乎不是一个显而易见的"这个ID是这个页面",但之前的两个方法可以让你快速找到任何给定的页面。