0
如果用戶輸入了足夠的數據,是否有方法可以在嚮導的中途將下一個按鈕更改爲完成按鈕? 下面的例子使用HaveFinishButtonOnEarlyPages集 - 但是我想要做的是如果用戶選擇單選按鈕,用完成按鈕替換下一個按鈕。這可能嗎?pyQt QWizard旁邊的改變完成按鈕提前退出
from PyQt4 import QtGui
from PyQt4.QtGui import QWizard
import sys
def createPage1():
page = QtGui.QWizardPage()
page.setTitle("Page 1")
page.setSubTitle("Enter some data, if you don't want to enter any more data select finish early.")
essentialLabel = QtGui.QLabel("Essential data:")
essentialLineEdit = QtGui.QLineEdit()
finishEarlyRB = QtGui.QRadioButton("Select to finish wizard early")
layout = QtGui.QGridLayout()
layout.addWidget(essentialLabel, 0, 0)
layout.addWidget(essentialLineEdit, 0, 1)
layout.addWidget(finishEarlyRB, 1, 0)
page.setLayout(layout)
return page
def createPage2():
page = QtGui.QWizardPage()
page.setTitle("Page 2")
page.setSubTitle("Enter some more data.")
nonEssentialLabel = QtGui.QLabel("Non essential data:")
nonEssentialLineEdit = QtGui.QLineEdit()
layout = QtGui.QGridLayout()
layout.addWidget(nonEssentialLabel, 0, 0)
layout.addWidget(nonEssentialLineEdit, 0, 1)
page.setLayout(layout)
return page
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
wizard = QtGui.QWizard()
wizard.setOption(QWizard.HaveFinishButtonOnEarlyPages, on=True)
wizard.addPage(createPage1())
wizard.addPage(createPage2())
wizard.show()
sys.exit(wizard.exec_())
從用戶體驗的角度來看,我會說它會更清晰地顯示完成按鈕和下一個按鈕,並在相關時啓用它。 – 101