1

我为了使用 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)
4

1 回答 1

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是这个页面”,但是之前的两种方法可以让你快速找到任何给定的页面。

于 2014-09-17T21:57:41.610 回答