PySide6.QtWidgets.QWizard

class QWizard

QWizard 类提供了一个向导框架。更多

PySide6.QtWidgets.QWizard 的继承图

概要

属性

方法

虚拟方法

插槽

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

向导(在macOS上也被称为助手)是一种特殊类型的输入对话框,由一系列页面组成。向导的目的是逐步引导用户完成一个过程。向导对于用户可能觉得难以学习的复杂或不常见的任务非常有用。

QWizard 继承自 QDialog 并代表一个向导。每个页面都是一个 QWizardPage(一个 QWidget 的子类)。要创建你自己的向导,你可以直接使用这些类,或者你可以对它们进行子类化以获得更多的控制。

一个简单的例子

以下示例说明了如何创建向导页面并将其添加到向导中。有关更高级的示例,请参阅License Wizard

def createIntroPage():

    page = QWizardPage()
    page.setTitle("Introduction")
    label = QLabel("This wizard will help you register your copy "()
                               "of Super Product Two.")
    label.setWordWrap(True)
    layout = QVBoxLayout()
    layout.addWidget(label)
    page.setLayout(layout)
    return page

def createRegistrationPage():            ...


def createConclusionPage():            ...


if __name__ == "__main__":

    app = QApplication([])
#ifndef QT_NO_TRANSLATION
    translatorFileName = "qtbase_"
    translatorFileName += QLocale.system().name()
    translator = QTranslator(app)
    if translator.load(translatorFileName, QLibraryInfo.path(QLibraryInfo.TranslationsPath)):
        app.installTranslator(translator)
#endif
    wizard = QWizard()
    wizard.addPage(createIntroPage())
    wizard.addPage(createRegistrationPage())
    wizard.addPage(createConclusionPage())
    wizard.setWindowTitle("Trivial Wizard")
    wizard.show()
    sys.exit(app.exec())

向导外观和感觉

QWizard 支持四种向导外观:

你可以明确地设置要使用的外观,使用setWizardStyle()(例如,如果你希望在所有平台上使用相同的外观)。

注意:AeroStyle 仅在启用了透明效果的 Windows Vista 系统上有效。当不满足此条件时,ModernStyle 将作为备用方案使用。

除了向导样式外,还有几个选项可以控制向导的外观和感觉。这些选项可以使用setOption()setOptions()来设置。例如,HaveHelpButton使QWizard显示一个帮助按钮以及其他向导按钮。

你甚至可以使用setButtonLayout()将向导按钮的顺序更改为任意顺序,并且你可以在按钮行中添加最多三个自定义按钮(例如,打印按钮)。这是通过调用setButton()setButtonText()CustomButton1CustomButton2CustomButton3来设置按钮,并通过启用HaveCustomButton1HaveCustomButton2HaveCustomButton3选项来实现的。每当用户点击自定义按钮时,customButtonClicked()会被触发。例如:

wizard().setButtonText(QWizard.CustomButton1, tr("Print"))
wizard().setOption(QWizard.HaveCustomButton1, True)
connect(wizard(), QWizard.customButtonClicked,
        self.printButtonClicked)

向导页面的元素

向导由一系列QWizardPage组成。在任何时候,只显示一个页面。一个页面具有以下属性:

下图展示了QWizard如何呈现这些属性,假设它们都存在并且使用了ModernStyle

../../_images/qtwizard-nonmacpage.png

当设置了subTitle时,QWizard会在标题中显示它,在这种情况下,它还会使用BannerPixmapLogoPixmap来装饰标题。WatermarkPixmap显示在左侧,标题下方。在底部,有一排按钮允许用户浏览页面。

页面本身(QWizardPage 小部件)占据了标题、水印和按钮行之间的区域。通常,页面是一个安装了 QGridLayoutQWizardPage,带有标准的子小部件(QLabelQLineEdit 等)。

如果向导的样式是 MacStyle,页面看起来会完全不同:

../../_images/qtwizard-macpage.png

水印、横幅和徽标的像素图被MacStyle忽略。如果设置了BackgroundPixmap,它将用作向导的背景;否则,将使用默认的“助手”图像。

标题和副标题通过在各个页面上调用setTitle()setSubTitle()来设置。它们可以是纯文本或HTML(参见titleFormatsubTitleFormat)。可以使用setPixmap()为整个向导全局设置pixmaps,或者使用setPixmap()在每个页面上单独设置。

注册和使用字段

在许多向导中,页面的内容可能会影响后续页面字段的默认值。为了方便页面之间的通信,QWizard 支持一种“字段”机制,允许您在页面上注册一个字段(例如,QLineEdit),并从任何页面访问其值。还可以指定必填字段(即用户必须填写才能进入下一页的字段)。

要注册一个字段,请调用registerField()字段。例如:

registerField("evaluate.name*", nameLineEdit)
registerField("evaluate.email*", emailLineEdit)

上述代码注册了三个字段,classNamebaseClassqobjectMacro,它们与三个子部件相关联。className旁边的星号(*)表示这是一个必填字段。

任何页面的字段都可以从其他页面访问。例如:

def initializePage(self):

    licenseText = QString()
    if wizard().hasVisitedPage(LicenseWizard.Page_Evaluate):
        licenseText = tr("<u>Evaluation License Agreement:</u> "
                         "You can use self software for 30 days and make one "
                         "backup, but you are not allowed to distribute it.")
     elif wizard().hasVisitedPage(LicenseWizard.Page_Details):
        emailAddress = field("details.email").toString()
        licenseText = tr("<u>First-Time License Agreement:</u> "
                         "You can use self software subject to the license "
                         "you will receive by email sent to %1.").arg(emailAddress)
    else:
        licenseText = tr("<u>Upgrade License Agreement:</u> "
                         "This software is licensed under the terms of your "
                         "current license.")

    bottomLabel.setText(licenseText)

在这里,我们调用field()来访问details.email字段的内容(该字段在DetailsPage中定义),并使用它来初始化ConclusionPage。字段的内容以QVariant的形式返回。

当我们使用registerField()创建一个字段时,我们会传递一个唯一的字段名称和一个小部件。我们还可以提供一个Qt属性名称和一个“changed”信号(当属性更改时发出的信号)作为第三和第四个参数;然而,对于最常见的Qt小部件,如QLineEditQCheckBoxQComboBox,这是不必要的,因为QWizard知道要查找哪些属性。

如果在注册属性时名称后附加了星号(*),则该字段为必填字段。当页面有必填字段时,只有在所有必填字段都填写完毕后,下一步和/或完成按钮才会启用。

要认为一个字段“已填写”,QWizard 只需检查该字段的当前值是否不等于原始值(即调用 initializePage() 时的值)。对于 QLineEditQAbstractSpinBox 的子类,QWizard 还会检查 hasAcceptableInput() 是否返回 true,以尊重任何验证器或掩码。

QWizard 的必填字段机制是为了方便而提供的。一个更强大(但也更繁琐)的替代方法是重新实现 isComplete(),并在页面变为完成或不完成时发出 completeChanged() 信号。

Next和/或Finish按钮的启用/禁用状态是执行用户输入验证的一种方式。另一种方式是重新实现validateCurrentPage()(或validatePage())以执行一些最后的验证(如果用户输入了不完整或无效的信息,则显示错误消息)。如果函数返回true,则显示下一页(或向导完成);否则,当前页面保持不变。

创建线性向导

大多数向导具有线性结构,页面1之后是页面2,依此类推,直到最后一页。Trivial Wizard示例就是这样的向导。使用QWizard,线性向导通过实例化QWizardPage并使用addPage()插入它们来创建。默认情况下,页面按照它们被添加的顺序显示。例如:

wizard = QWizard()
wizard.addPage(createIntroPage())
wizard.addPage(createRegistrationPage())
wizard.addPage(createConclusionPage())

当页面即将显示时,QWizard 调用 initializePage()(它又调用 initializePage())来用默认值填充页面。默认情况下,此函数不执行任何操作,但可以重新实现它,以根据其他页面的字段初始化页面的内容(参见 example above)。

如果用户按下返回键,cleanupPage() 会被调用(这又会调用 cleanupPage())。默认实现将页面的字段重置为它们的原始值(即调用 initializePage() 之前的值)。如果你希望返回键不破坏用户输入的值,只需启用 IndependentPages 选项。

创建非线性向导

一些向导更为复杂,因为它们允许根据用户提供的信息选择不同的遍历路径。许可证向导示例说明了这一点。它提供了多个向导页面;根据所选的选项,用户可以到达不同的页面。

../../_images/licensewizard-flow.png

在复杂的向导中,页面通过ID进行标识。这些ID通常使用枚举定义。例如:

class LicenseWizard(QWizard):            ...

enum { Page_Intro, Page_Evaluate, Page_Register, Page_Details,
       Page_Conclusion }            ...

enum { Page_Intro, Page_Evaluate, Page_Register, Page_Details,
       Page_Conclusion }

页面使用setPage()插入,它需要一个ID和一个QWizardPage(或其子类)的实例:

def __init__(self, parent):
    super().__init__(parent)

    setPage(Page_Intro, IntroPage())
    setPage(Page_Evaluate, EvaluatePage())
    setPage(Page_Register, RegisterPage())
    setPage(Page_Details, DetailsPage())
    setPage(Page_Conclusion, ConclusionPage())            ...

self.helpRequested.connect(self.showHelp)

默认情况下,页面按ID递增顺序显示。为了提供依赖于用户选择选项的动态顺序,我们必须重新实现 nextId()。例如:

def nextId(self):

def nextId(self):

    return LicenseWizard.Page_Conclusion

def nextId(self):

    if upgradeKeyLineEdit.text().isEmpty():
        return LicenseWizard.Page_Details
    else:
        return LicenseWizard.Page_Conclusion

def nextId(self):

    return LicenseWizard.Page_Conclusion

def nextId(self):

    return -1

也可以将所有逻辑放在一个地方,在nextId()的重新实现中。例如:

def nextId(self):

    switch (currentId()) {
    elif ret == Page_Intro:
        if field("intro.evaluate").toBool():
            return Page_Evaluate
        else:
            return Page_Register

    elif ret == Page_Evaluate:
        return Page_Conclusion
    elif ret == Page_Register:
        if field("register.upgradeKey").toString().isEmpty():
            return Page_Details
        else:
            return Page_Conclusion

    elif ret == Page_Details:
        return Page_Conclusion
    elif ret == Page_Conclusion:
    else:
        return -1

要从ID不是最低的页面开始,请调用setStartId()

要测试页面是否已被访问,请调用 hasVisitedPage()。例如:

def initializePage(self):

    licenseText = QString()
    if wizard().hasVisitedPage(LicenseWizard.Page_Evaluate):
        licenseText = tr("<u>Evaluation License Agreement:</u> "
                         "You can use self software for 30 days and make one "
                         "backup, but you are not allowed to distribute it.")
     elif wizard().hasVisitedPage(LicenseWizard.Page_Details):
        emailAddress = field("details.email").toString()
        licenseText = tr("<u>First-Time License Agreement:</u> "
                         "You can use self software subject to the license "
                         "you will receive by email sent to %1.").arg(emailAddress)
    else:
        licenseText = tr("<u>Upgrade License Agreement:</u> "
                         "This software is licensed under the terms of your "
                         "current license.")

    bottomLabel.setText(licenseText)

另请参阅

QWizardPage 简单向导示例 许可证向导示例

class WizardButton

此枚举指定向导中的按钮。

常量

描述

QWizard.BackButton

后退按钮(在macOS上为返回)

QWizard.NextButton

下一步按钮(在macOS上为继续)

QWizard.CommitButton

提交按钮

QWizard.FinishButton

完成按钮(在macOS上显示为Done)

QWizard.CancelButton

取消按钮(另请参阅 NoCancelButton

QWizard.HelpButton

帮助按钮(另请参阅 HaveHelpButton

QWizard.CustomButton1

第一个用户定义的按钮(另见 HaveCustomButton1

QWizard.CustomButton2

第二个用户定义的按钮(另见 HaveCustomButton2

QWizard.CustomButton3

第三个用户定义的按钮(另见 HaveCustomButton3

以下值仅在调用setButtonLayout()时有用:

常量

描述

QWizard.Stretch

按钮布局中的水平拉伸

class WizardPixmap

此枚举指定可以与页面关联的像素图。

常量

描述

QWizard.WatermarkPixmap

ClassicStyleModernStyle页面左侧的高大像素图

QWizard.LogoPixmap

ClassicStyleModernStyle页面标题右侧的小图标

QWizard.BannerPixmap

占据ModernStyle页面标题背景的像素图

QWizard.BackgroundPixmap

占据MacStyle向导背景的像素图

另请参阅

setPixmap() setPixmap() 向导页面的元素

class WizardStyle

此枚举指定了QWizard支持的不同外观。

常量

描述

QWizard.ClassicStyle

经典Windows外观

QWizard.ModernStyle

现代Windows外观

QWizard.MacStyle

macOS 外观

QWizard.AeroStyle

Windows Aero 外观

另请参阅

setWizardStyle() WizardOption Wizard 外观 感觉

class WizardOption

(继承自 enum.Flag) 此枚举指定了影响向导外观和感觉的各种选项。

常量

描述

QWizard.IndependentPages

页面之间相互独立(即它们不相互派生值)。

QWizard.IgnoreSubTitles

不显示任何副标题,即使它们已被设置。

QWizard.ExtendedWatermarkPixmap

将任何WatermarkPixmap扩展到窗口的边缘。

QWizard.NoDefaultButton

不要将“下一步”或“完成”按钮设为对话框的默认 按钮

QWizard.NoBackButtonOnStartPage

在起始页面上不显示返回按钮。

QWizard.NoBackButtonOnLastPage

在最后一页不显示返回按钮。

QWizard.DisabledBackButtonOnLastPage

在最后一页禁用后退按钮。

QWizard.HaveNextButtonOnLastPage

在最后一页显示(禁用的)下一步按钮。

QWizard.HaveFinishButtonOnEarlyPages

在非最后一页显示(禁用的)完成按钮。

QWizard.NoCancelButton

不显示取消按钮。

QWizard.CancelButtonOnLeft

将取消按钮放在后退按钮的左侧(而不是完成或下一步按钮的右侧)。

QWizard.HaveHelpButton

显示帮助按钮。

QWizard.HelpButtonOnRight

将帮助按钮放在按钮布局的最右侧(而不是最左侧)。

QWizard.HaveCustomButton1

显示第一个用户定义的按钮(CustomButton1)。

QWizard.HaveCustomButton2

显示第二个用户定义的按钮(CustomButton2)。

QWizard.HaveCustomButton3

显示第三个用户定义的按钮(CustomButton3)。

QWizard.NoCancelButtonOnLastPage

在最后一页不显示取消按钮。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property currentIdᅟ: int

此属性保存当前页面的ID。

此属性不能直接设置。要更改当前页面,请调用 next()back()restart()

默认情况下,此属性的值为-1,表示当前未显示任何页面。

另请参阅

currentPage()

Access functions:
property optionsᅟ: Combination of QWizard.WizardOption

此属性包含影响向导外观和感觉的各种选项。

默认情况下,以下选项已设置(取决于平台):

另请参阅

wizardStyle

Access functions:
property startIdᅟ: int

此属性保存第一页的ID。

如果未明确设置此属性,则此属性默认为此向导中的最低页面ID,如果尚未插入任何页面,则为-1。

另请参阅

restart() nextId()

Access functions:
property subTitleFormatᅟ: Qt.TextFormat

此属性保存页面副标题使用的文本格式。

默认格式是 Qt::AutoText。

另请参阅

title titleFormat

Access functions:
property titleFormatᅟ: Qt.TextFormat

此属性保存页面标题使用的文本格式。

默认格式是 Qt::AutoText。

另请参阅

title subTitleFormat

Access functions:
property wizardStyleᅟ: QWizard.WizardStyle

此属性保存向导的外观和感觉。

默认情况下,QWizard 在启用了 alpha 合成的 Windows Vista 系统上使用 AeroStyle,无论当前的小部件样式如何。如果不是这种情况,默认的向导样式取决于当前的小部件样式,如下所示:如果当前的小部件样式是 QMacStyle,则默认使用 MacStyle;如果当前的小部件样式是 QWindowsStyle,则默认使用 ModernStyle;在所有其他情况下,默认使用 ClassicStyle

另请参阅

Wizard Look and Feel options

Access functions:
__init__([parent=None[, flags=Qt.WindowFlags()]])
Parameters:

使用给定的parent和窗口flags构建一个向导。

另请参阅

windowFlags()

addPage(page)
Parameters:

页面QWizardPage

Return type:

整数

将给定的page添加到向导中,并返回页面的ID。

ID保证大于QWizard中迄今为止的任何其他ID。

back()

返回上一页。

这相当于按下返回按钮。

button(which)
Parameters:

哪个WizardButton

Return type:

QAbstractButton

返回与角色 which 对应的按钮。

buttonText(which)
Parameters:

哪个WizardButton

Return type:

字符串

返回按钮上的文本 which

如果已经使用setButtonText()设置了文本,则返回此文本。

默认情况下,按钮上的文本取决于wizardStyle。例如,在macOS上,Next按钮被称为Continue。

cleanupPage(id)
Parameters:

id – int

这个虚函数由QWizard调用,用于在用户通过点击返回离开页面id之前进行清理(除非设置了IndependentPages选项)。

默认实现调用cleanupPage()在页面(id)上。

currentId()
Return type:

整数

另请参阅

setCurrentId()

属性 currentIdᅟ 的获取器。

currentIdChanged(id)
Parameters:

id – int

当当前页面更改时,会发出此信号,并带有新的当前id

另请参阅

currentId() currentPage()

属性 currentIdᅟ 的通知信号。

currentPage()
Return type:

QWizardPage

返回指向当前页面的指针,如果没有当前页面(例如,在向导显示之前),则返回None

这相当于调用 page( currentId() )。

customButtonClicked(which)
Parameters:

which – 整数

当用户点击自定义按钮时,会发出此信号。which 可以是 CustomButton1CustomButton2CustomButton3

默认情况下,不显示自定义按钮。调用 setOption() 并使用 HaveCustomButton1HaveCustomButton2HaveCustomButton3 来显示一个按钮,然后使用 setButtonText()setButton() 来配置它。

另请参阅

helpRequested()

field(name)
Parameters:

name – str

Return type:

对象

返回名为 name 的字段的值。

此函数可用于访问向导任何页面上的字段。

hasVisitedPage(id)
Parameters:

id – int

Return type:

布尔

如果页面历史包含页面 id,则返回 true;否则,返回 false

按下返回键会将当前页面再次标记为“未访问”。

另请参阅

visitedIds()

helpRequested()

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

当用户点击帮助按钮时,会发出此信号。

默认情况下,不显示帮助按钮。调用 setOption ( HaveHelpButton , true) 来显示一个。

示例:

def __init__(self, parent):
    super().__init__(parent)            ...

setOption(HaveHelpButton, True)
self.helpRequested.connect(self.showHelp)            ...

self.helpRequested.connect(self.showHelp)

def showHelp(self):

    lastHelpMessage = QString()
    message = QString()
    switch (currentId()) {
    elif role == Page_Intro:
        message = tr("The decision you make here will affect which page you "
                     "get to see next.")
        break            ...

else:
    message = tr("This help is likely not to be of any help.")

QMessageBox.information(self, tr("License Wizard Help"), message)

QMessageBox.information(self, tr("License Wizard Help"), message)

另请参阅

customButtonClicked()

initializePage(id)
Parameters:

id – int

这个虚函数由QWizard调用,用于在页面id显示之前进行准备,无论是由于调用了restart(),还是用户点击了下一步。(但是,如果设置了IndependentPages选项,则此函数仅在页面首次显示时调用。)

通过重新实现此函数,您可以确保页面的字段根据之前页面的字段正确初始化。

默认实现调用页面(id)上的initializePage()

next()

前进到下一页。

这相当于按下“下一步”或“提交”按钮。

nextId()
Return type:

整数

当用户点击下一步按钮时,QWizard会调用此虚拟函数来确定要显示的页面。

返回值是下一页的ID,如果没有下一页则为-1。

默认实现调用nextId()currentPage()上。

通过重新实现此函数,您可以指定动态页面顺序。

另请参阅

nextId() currentPage()

options()
Return type:

WizardOption的组合

另请参阅

setOptions()

属性 optionsᅟ 的获取器。

page(id)
Parameters:

id – int

Return type:

QWizardPage

返回具有给定id的页面,如果没有这样的页面,则返回None

另请参阅

addPage() setPage()

pageAdded(id)
Parameters:

id – int

每当向向导添加页面时,都会发出此信号。页面的id作为参数传递。

pageIds()
Return type:

整数列表

返回页面ID的列表。

pageRemoved(id)
Parameters:

id – int

每当从向导中移除页面时,都会发出此信号。页面的id作为参数传递。

另请参阅

removePage() startId()

pixmap(which)
Parameters:

哪个WizardPixmap

Return type:

QPixmap

返回为角色 which 设置的 pixmap。

默认情况下,唯一设置的像素图是macOS上的BackgroundPixmap

另请参阅

setPixmap() pixmap() 向导页面的元素

removePage(id)
Parameters:

id – int

移除具有给定id的页面。如有必要,将调用cleanupPage()

注意

删除页面可能会影响startId属性的值。

restart()

在起始页重新启动向导。当显示向导时,此函数会自动调用。

另请参阅

startId()

setButton(which, button)
Parameters:

将对应于角色 which 的按钮设置为 button

要向向导添加额外的按钮(例如,打印按钮),一种方法是使用CustomButton1CustomButton3调用setButton(),并使用HaveCustomButton1HaveCustomButton3选项使按钮可见。

setButtonLayout(layout)
Parameters:

布局 – .QWizard.WizardButton 的列表

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

设置按钮显示的顺序为layout,其中layoutWizardButton的列表。

默认布局取决于设置的选项(例如,是否HelpButtonOnRight)。如果您需要比options提供的更多按钮布局控制,可以调用此函数。

您可以使用Stretch在布局中指定水平拉伸。

示例:

def __init__(self, parent):
    super().__init__(parent)

    ...
layout = QList()
    layout << QWizard.Stretch << QWizard.BackButton << QWizard.CancelButton
           << QWizard.NextButton << QWizard.FinishButton
    setButtonLayout(layout)
    ...
setButtonText(which, text)
Parameters:

设置按钮上的文本为 text

默认情况下,按钮上的文本取决于wizardStyle。例如,在macOS上,Next按钮被称为Continue。

要向向导添加额外的按钮(例如,打印按钮),一种方法是使用CustomButton1CustomButton2CustomButton3调用setButtonText()来设置它们的文本,并使用HaveCustomButton1HaveCustomButton2和/或HaveCustomButton3选项使按钮可见。

按钮文本也可以使用setButtonText()在每页基础上设置。

setCurrentId(id)
Parameters:

id – int

currentId设置为id,而不访问currentIdid之间的页面。

如果页面未更改,则返回

  • 向导没有页面

  • 当前页面无效

  • 给定页面等于 currentId()

  • 给定的页面超出范围

注意:如果页面已被向前跳过且id为0,页面访问历史将被删除

另请参阅

currentId()

属性 currentIdᅟ 的设置器。

setDefaultProperty(className, property, changedSignal)
Parameters:
  • className – str

  • property – str

  • changedSignal – str

className的默认属性设置为property,并将相关的更改信号设置为changedSignal

className(或其子类之一)的实例传递给registerField()且未指定属性时,将使用默认属性。

QWizard 知道最常见的 Qt 小部件。对于这些(或它们的子类),您不需要指定 propertychangedSignal。下表列出了这些小部件:

setField(name, value)
Parameters:
  • name – str

  • value – 对象

将名为name的字段的值设置为value

此函数可用于设置向导任何页面上的字段。

setOption(option[, on=true])
Parameters:

如果on为真,则启用给定的option;否则,清除给定的option

setOptions(options)
Parameters:

optionsWizardOption 的组合

另请参阅

options()

属性 optionsᅟ 的设置器。

setPage(id, page)
Parameters:

将给定的page添加到具有给定id的向导中。

注意

添加页面可能会影响startId属性的值,如果该属性未明确设置。

setPixmap(which, pixmap)
Parameters:

将角色 which 的 pixmap 设置为 pixmap

pixmaps 由 QWizard 在显示页面时使用。实际使用的 pixmaps 取决于 wizard style

也可以使用setPixmap()为特定页面设置Pixmaps。

另请参阅

pixmap() setPixmap() 向导页面的元素

setSideWidget(widget)
Parameters:

widgetQWidget

将给定的widget设置为显示在向导的左侧。对于使用WatermarkPixmapClassicStyleModernStyle)的样式,侧边部件显示在水印的顶部;对于其他样式或未提供水印时,侧边部件显示在向导的左侧。

传递 None 不显示侧边小部件。

widget不是None时,向导会重新设置其父级。

任何之前的侧边小部件都被隐藏了。

您可以在不同时间使用相同的widget调用setSideWidget()。

除非在设置其他侧边小部件(或None)后单独重新设置小部件的父级,否则此处设置的所有小部件将在向导销毁时被删除。

默认情况下,没有侧边小部件。

另请参阅

sideWidget()

setStartId(id)
Parameters:

id – int

另请参阅

startId()

属性 startIdᅟ 的设置器。

setSubTitleFormat(format)
Parameters:

formatTextFormat

另请参阅

subTitleFormat()

属性 subTitleFormatᅟ 的设置器。

setTitleFormat(format)
Parameters:

formatTextFormat

另请参阅

titleFormat()

属性 titleFormatᅟ 的设置器。

setWizardStyle(style)
Parameters:

样式WizardStyle

另请参阅

wizardStyle()

属性 wizardStyleᅟ 的设置器。

sideWidget()
Return type:

QWidget

返回向导左侧的小部件或None

默认情况下,没有侧边小部件。

另请参阅

setSideWidget()

startId()
Return type:

整数

另请参阅

setStartId()

属性 startIdᅟ 的获取器。

subTitleFormat()
Return type:

TextFormat

另请参阅

setSubTitleFormat()

属性 subTitleFormatᅟ 的获取器。

testOption(option)
Parameters:

选项WizardOption

Return type:

布尔

如果给定的option已启用,则返回true;否则,返回false。

titleFormat()
Return type:

TextFormat

另请参阅

setTitleFormat()

属性 titleFormatᅟ 的获取器。

validateCurrentPage()
Return type:

布尔

当用户点击下一步或完成时,QWizard会调用此虚拟函数以执行一些最后的验证。如果返回true,则显示下一页(或向导完成);否则,当前页面保持不变。

默认实现调用validatePage()currentPage()上。

在可能的情况下,通常更好的做法是禁用“下一步”或“完成”按钮(通过指定mandatory fields或重新实现isComplete()),而不是重新实现validateCurrentPage()。

visitedIds()
Return type:

整数列表

返回访问过的页面的ID列表,按照页面被访问的顺序排列。

另请参阅

hasVisitedPage()

wizardStyle()
Return type:

WizardStyle

另请参阅

setWizardStyle()

属性 wizardStyleᅟ 的获取器。