Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QWizardPage类是向导页面的基类。More...
继承QWidget。
该QWizardPage类是向导页面的基类。
QWizard代表一个向导。每个页面都是一个QWizardPage 。当您创建自己的向导,您可以直接使用QWizardPage ,或者你可以继承它进行更多的控制。
一个页面有如下属性,这是由提供QWizard:一title,一subTitle和set of pixmaps。看Elements of a Wizard Page了解详情。当一个页面被(使用添加向导QWizard.addPage()或QWizard.setPage()),wizard( )返回一个指向相关QWizard对象。
页面提供了可重新实现以提供自定义行为五个虚拟函数:
一般情况下,Next按钮和Finish向导按钮是互斥的。如果isFinalPage( )返回True ,Finish可用,否则Next是可用的。默认情况下,isFinalPage( )为真,只有当nextId( )返回-1 。如果你想显示Next和Final同时一个页面(让用户执行一个“早完成” ) ,调用setFinalPage (真)在该网页。对于支持早期完成向导,您可能还需要设置HaveNextButtonOnLastPage和HaveFinishButtonOnEarlyPages在该向导的选项。
在许多向导页面的内容可能会影响后面的页的字段的缺省值。为了便于页面之间进行通信,QWizard支持"field" mechanism这允许您注册一个字段(例如,一QLineEdit)上的一个页面,访问任何网页它的价值。字段是全球整个向导,很容易让任何一个网页访问另一个页面存储的信息,而不必把所有的逻辑QWizard或具有明确的页面了解对方。字段使用登记registerField( ),并且可以在任何时间使用访问field()和setField( ) 。
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个向导页中给定的parent。
当页面使用插入向导QWizard.addPage()或QWizard.setPage( ) ,父被自动设置为向导。
See also wizard( ) 。
按钮返回文本which此页面上。
如果使用的是文本有奔集setButtonText( ) ,则返回该文本。否则,如果文本已经使用设置QWizard.setButtonText( ) ,则返回该文本。
默认情况下,按钮上的文本取决于QWizard.wizardStyle。例如,在Mac OS X中,Next按钮被称为Continue。
See also setButtonText( )QWizard.buttonText()和QWizard.setButtonText( ) 。
这个虚函数被调用QWizard.cleanupPage()用户通过点击离开页面时Back(除非QWizard.IndependentPages选项设置) 。
默认实现重置页面的栏位为原始值(他们之前所拥有的价值观initializePage( )被调用) 。
See also QWizard.cleanupPage( )initializePage()和QWizard.IndependentPages。
返回字段的所谓的值name。
此功能可用于访问向导的任何页面上的字段。这等同于调用wizard() - \u003efield(name) 。
例如:
void OutputFilesPage.initializePage() { QString className = field("className").toString(); headerLineEdit->setText(className.toLower() + ".h"); implementationLineEdit->setText(className.toLower() + ".cpp"); outputDirLineEdit->setText(QDir.convertSeparators(QDir.tempPath())); }
See also QWizard.field( )setField()和registerField( ) 。
这个虚函数被调用QWizard.initializePage( )编写的网页也显示无论是作为一个结果之前QWizard.restart()被调用时,或者当用户点击的结果Next。 (然而,如果QWizard.IndependentPages选项设置,此功能只在第一次调用的页面显示。 )
通过重新实现这个功能,可以确保基于前几页信息页面的栏已正确初始化。例如:
void OutputFilesPage.initializePage() { QString className = field("className").toString(); headerLineEdit->setText(className.toLower() + ".h"); implementationLineEdit->setText(className.toLower() + ".cpp"); outputDirLineEdit->setText(QDir.convertSeparators(QDir.tempPath())); }
默认实现不执行任何操作。
See also QWizard.initializePage( )cleanupPage()和QWizard.IndependentPages。
返回True如果该页面是一个提交页面,否则返回False 。
See also setCommitPage( ) 。
这个虚函数被调用QWizard以确定是否Next or Finish按钮应该被启用或禁用。
默认实现返回True,如果所有mandatory fields充满,否则返回False 。
如果重新实现此功能,请确保发射completeChanged( ) ,从您的实现,只要在isComplete的值( )变化的其馀部分。这确保了QWizard更新其按钮的启用或禁用状态。重新实现的一个示例是可 here。
See also completeChanged()和isFinalPage( ) 。
调用此函数由QWizard以确定是否Finish按钮应显示该页面与否。
默认情况下,如果没有下一个页面(即返回True ,nextId( )返回-1 ) ,否则返回False 。
通过显式调用setFinalPage (真) ,可以让用户执行“最早完成” 。
See also isComplete()和QWizard.HaveFinishButtonOnEarlyPages。
这个虚函数被调用QWizard.nextId( )来找出当用户点击显示哪些页面Next按钮。
返回值是下一个页面的ID ,或-1,如果没有页面如下。
默认情况下,这个函数返回的最低编号大于当前页面的ID ,或-1,如果没有这样的标识。
通过重新实现此功能,您可以指定一个动态的页面顺序。例如:
int IntroPage.nextId() const { if (evaluateRadioButton->isChecked()) { return LicenseWizard.Page_Evaluate; } else { return LicenseWizard.Page_Register; } }
See also QWizard.nextId( ) 。
返回角色像素图组which。
像素图,也可以使用整个向导设置QWizard.setPixmap( ) ,在这种情况下,他们申请不指定像素图的所有页面。
See also setPixmap( )QWizard.pixmap()和Elements of a Wizard Page。
创建一个名为场name用给定的相关联property的给定widget。从那时起,该属性使用变得方便field()和setField( ) 。
字段是全球整个向导,很容易让任何一个网页访问另一个页面存储的信息,而不必把所有的逻辑QWizard或具有明确的页面了解对方。
If name带星号结尾(*) ,该字段是必填字段。当一个页面有必填字段中,Next和/或Finish按钮被激活,只有当所有必填字段被填充。这需要changedSignal被指定的,告诉QWizard重新检查的必填字段存储的值。
QWizard知道最常见的Qt部件。对于这些(或其子类) ,你不需要指定property或changedSignal。下表列出了这些小部件:
Widget | Property | Change Notification Signal |
---|---|---|
QAbstractButton | bool checked | toggled() |
QAbstractSlider | int value | valueChanged() |
QComboBox | int currentIndex | currentIndexChanged() |
QDateTimeEdit | QDateTime dateTime | dateTimeChanged() |
QLineEdit | QString text | textChanged() |
QListWidget | int currentRow | currentRowChanged() |
QSpinBox | int value | valueChanged() |
您可以使用QWizard.setDefaultProperty( )将条目添加到该表或复盖现有条目。
考虑现场“装” ,QWizard简单地检查他们的当前值不等于其原始值(它们之前所拥有的价值initializePage( )被调用) 。为QLineEdit,它还会检查hasAcceptableInput()返回True ,兑现任何验证或面具。
QWizard提供方便的必填字段机制。它可以通过重新实现被绕过QWizardPage.isComplete( ) 。
See also field( )setField()和QWizard.setDefaultProperty( ) 。
按钮设置文本which要text此页面上。
默认情况下,按钮上的文本取决于QWizard.wizardStyle,而是可以被重新定义为向导如使用整体QWizard.setButtonText( ) 。
See also buttonText( )QWizard.setButtonText()和QWizard.buttonText( ) 。
设置这个页面是一个提交页面,如果commitPage为True,否则,设置它是一个正常的页面。
一个提交页面是代表它无法通过单击撤消的操作页面Back or Cancel。
A Commit按钮取代了Next提交页面上按钮。点击这个按钮简单地调用QWizard.next( )就像点击Next一样。
直接提交页面中输入一个页面都有它Back按钮禁用。
See also isCommitPage( ) 。
设置字段中称为值name至value。
此功能可用于在向导的任何页面上设置的字段。这等同于调用wizard() - \u003esetField(name, value)。
See also QWizard.setField( )field()和registerField( ) 。
显式设置此页面是最终的,如果finalPage是真实的。
调用setFinalPage (真)后,isFinalPage()返回True,并且Finish按钮是可见的(如果启用isComplete( )返回True ) 。
调用setFinalPage (假)后,isFinalPage( )返回True ,如果nextId( )返回-1 ,否则返回False 。
See also isFinalPage( )isComplete()和QWizard.HaveFinishButtonOnEarlyPages。
设置像素图的作用which至pixmap。
该像素图所使用的QWizard显示一个页面时。其中像素图实际使用依赖于wizard style。
像素图,也可以使用整个向导设置QWizard.setPixmap( ) ,在这种情况下,他们申请不指定像素图的所有页面。
See also pixmap( )QWizard.setPixmap()和Elements of a Wizard Page。
这个虚函数被调用QWizard.validateCurrentPage( )当用户点击Next or Finish执行一些最后一分钟的验证。如果返回True,则下一个页面显示(或向导完成),否则,在当前页面熬夜。
默认实现返回True 。
如果可能的话,它通常是更好的风格禁用Next or Finish按钮(通过指定mandatory fields或者重新实现isComplete( ) ),而不是重新实现validatePage ( ) 。
See also QWizard.validateCurrentPage()和isComplete( ) 。
返回与此页面,或0相关的向导,如果这个页面没有被插入QWizard还没有。
See also QWizard.addPage()和QWizard.setPage( ) 。
这是该信号的默认超载。
这个信号被发射时的页面(即,值的完整状态isComplete())的变化。
如果你重新实现isComplete( ) ,一定要发出completeChanged ( )时的值isComplete( )的变化,以确保QWizard更新其按钮的启用或禁用状态。
See also isComplete( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |