我一直在看this的例子。我基於它編寫了我的代碼,但我仍然無法弄清楚如何連接qwizard的下一個按鈕。例如,我希望每次點擊下一個按鈕時打印頁面的名稱和編號。與完成按鈕相同,單擊完成後,我希望它打印「完成!」在控制檯上,主要知道如何連接這些按鈕以在其中一個頁面中執行功能。如何將頁面的功能連接到qwizard的下一個按鈕?
回答
您可以通過函數{your wizard}.button({type button})
,其中按鈕類型可以得到的按鈕:
- QtGui.QWizard.BackButton
- QtGui.QWizard.NextButton
- QtGui.QWizard.CommitButton
- QtGui.QWizard.FinishButton
- QtGui.QWizard.CancelButton
- QtGui.QWizard.HelpButton
- QtGui.QWizard.CustomButton1
- QtGui.QWizard.CustomButton2
- QtGui.QWizard.CustomButton3
代碼:
from PyQt4 import QtGui
def createIntroPage():
page = QtGui.QWizardPage()
page.setTitle("Introduction")
label = QtGui.QLabel("This wizard will help you register your copy of "
"Super Product Two.")
label.setWordWrap(True)
layout = QtGui.QVBoxLayout()
layout.addWidget(label)
page.setLayout(layout)
return page
def createRegistrationPage():
page = QtGui.QWizardPage()
page.setTitle("Registration")
page.setSubTitle("Please fill both fields.")
nameLabel = QtGui.QLabel("Name:")
nameLineEdit = QtGui.QLineEdit()
emailLabel = QtGui.QLabel("Email address:")
emailLineEdit = QtGui.QLineEdit()
layout = QtGui.QGridLayout()
layout.addWidget(nameLabel, 0, 0)
layout.addWidget(nameLineEdit, 0, 1)
layout.addWidget(emailLabel, 1, 0)
layout.addWidget(emailLineEdit, 1, 1)
page.setLayout(layout)
return page
def createConclusionPage():
page = QtGui.QWizardPage()
page.setTitle("Conclusion")
label = QtGui.QLabel("You are now successfully registered. Have a nice day!")
label.setWordWrap(True)
layout = QtGui.QVBoxLayout()
layout.addWidget(label)
page.setLayout(layout)
return page
def backprint():
print("Action: back Page: " + wizard.currentPage().title())
def nextprint():
print("Action: next Page: " + wizard.currentPage().title())
def commitprint():
print("Action: commit Page: " + wizard.currentPage().title())
def finishprint():
print("Action:finish Page: " + wizard.currentPage().title())
def cancelprint():
print("Action:cancel Page: " + wizard.currentPage().title())
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
wizard = QtGui.QWizard()
wizard.addPage(createIntroPage())
wizard.addPage(createRegistrationPage())
wizard.addPage(createConclusionPage())
wizard.button(QtGui.QWizard.BackButton).clicked.connect(backprint)
wizard.button(QtGui.QWizard.NextButton).clicked.connect(nextprint)
wizard.button(QtGui.QWizard.CommitButton).clicked.connect(commitprint)
wizard.button(QtGui.QWizard.FinishButton).clicked.connect(finishprint)
wizard.button(QtGui.QWizard.CancelButton).clicked.connect(cancelprint)
wizard.setWindowTitle("Trivial Wizard")
wizard.show()
print("Page :" + wizard.currentPage().title())
sys.exit(wizard.exec_())
輸出:
Page :Introduction
Action: next Page: Registration
Action: next Page: Conclusion
Action: back Page: Registration
Action: back Page: Introduction
Action: next Page: Registration
Action: next Page: Conclusion
Action:finish Page: Conclusion
我不斷收到:lambda:print(「Action:back Page:」+ wizard.currentPage()。title())) ^ SyntaxError :所有lambda函數的語法無效。我在Python 2.7 – answerSeeker
@TakakaiWasumi更新我的解決方案 – eyllanesc
再次感謝你的男人。我一直在尋找幾個小時 – answerSeeker
- 1. 如何將按鈕連接到一個功能xpce/Prolog的
- 2. 如何將一個事件從一個按鈕連接到另一個按鈕?
- 3. 如何添加一個等待功能,直到按下按鈕?
- 4. 如何將android按鈕連接到網頁按鈕?
- 5. android中的下一個按鈕功能
- 6. 更改按鈕連接到另一個功能
- 7. 如何檢測在QWizard中按下的後退按鈕?
- 8. 將更多按鈕鏈接到另一個頁面的編號
- 9. 如何在連接到按鈕的Android Studio中添加頁面?
- 10. 如何將按鈕重定向到我的另一個頁面?
- 11. 如何設計QWizard的按鈕區域?
- 12. 如何將socket.io中的按鈕的功能發送到所有連接
- 13. 單獨的頁面按鈕Ajax功能
- 14. 我設置的功能重複,直到按下一個按鈕
- 15. 將Twitter社交按鈕連接到推薦鏈接頁面
- 16. ?按鈕功能的另一個按鈕
- 17. 如何將多個按鈕連接到一個插座?
- 18. 如何將固定按鈕添加到頁面的右下方
- 19. gridview連接另一個頁面的按鈕
- 20. 如何使用引導鏈接按鈕到另一個頁面
- 21. Twitter Bootstrap按鈕 - 如何鏈接到另一個頁面?
- 22. 如何從分頁功能中刪除上一個/下一個按鈕?
- 23. 將wp_links_pages鏈接到「下一頁」和「上一頁」按鈕?
- 24. 將一個按鈕鏈接到另一個頁面的一部分
- 25. 如何將按鈕連接到輸入
- 26. 如何將UIButton連接到HTML按鈕?
- 27. 如何將按鈕點擊事件從一個頁面傳遞到另一個頁面按鈕
- 28. 如何將按鈕鏈接到使用jquery的頁面,前提是onclick也觸發一些其他功能
- 29. 將按鈕從一個按鈕加載到外部頁面
- 30. 如何將Plug.Router連接到Plug功能
它使用一些'QtGui.QWizardPage',所以也許可以找到這個類的文檔:http:// do c.qt.io/qt-4.8/qwizardpage.html – furas
我已閱讀文檔。仍然困惑於如何將一個函數連接到按鈕 – answerSeeker
@TakakaiWasumi嘗試使用我的代碼 – eyllanesc