source: internals/2016/linuxloginsmartcardwizard/trunk/proto1/w4pages.py @ 16545

Last change on this file since 16545 was 16545, checked in by dcorreia, 4 years ago

Added main window buttons icons.

File size: 2.5 KB
Line 
1from PyQt5 import QtCore, QtGui, QtWidgets
2from PyQt5.QtWidgets import QMessageBox
3import welcome, checksystem, carduser, final
4
5
6class MyWizard(QtWidgets.QWizard):
7    def __init__(self):
8        super(MyWizard, self).__init__()
9        self.setObjectName("Wizard")
10        self.resize(600, 450)
11        self.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
12        self.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
13        self.setAutoFillBackground(True)
14        self.setSizeGripEnabled(False)
15        self.setModal(True)
16        self.customFont = QtGui.QFont()
17        self.customFont.setPointSize(10.5)
18        self.setFont(self.customFont)
19        self.setWizardStyle(QtWidgets.QWizard.ModernStyle)
20        self.setOptions(QtWidgets.QWizard.HaveHelpButton |
21                        QtWidgets.QWizard.NoBackButtonOnLastPage |
22                        QtWidgets.QWizard.NoBackButtonOnStartPage |
23                        QtWidgets.QWizard.NoCancelButton |
24                        QtWidgets.QWizard.IndependentPages)
25        self.setTitleFormat(QtCore.Qt.AutoText)
26        self.setWindowTitle("SmartCard Login")
27
28        self.wizardPage1 = welcome.WelcomePage()
29        self.addPage(self.wizardPage1)
30
31        self.wizardPage2 = checksystem.SystemPage()
32        self.addPage(self.wizardPage2)
33
34        self.wizardPage3 = carduser.CardUserPage()
35        self.addPage(self.wizardPage3)
36
37        self.wizardPage4 = final.FinalPage()
38        self.addPage(self.wizardPage4)
39
40        self.messageBox = QtWidgets.QMessageBox()
41        self.helpRequested.connect(self.showHelp)
42
43    def showHelp(self):
44        message = self.currentPage().helpMessage
45        self.messageBox.information(self, "Help Dialog", message)
46
47    def closeEvent(self, QCloseEvent):
48        if self.currentId() != 3:
49            reply = self.messageBox.warning(self, "Title",  "\nAre you sure you want to close the wizard?\n\n"
50                                                            "You will lose all progress you currently have on \n"
51                                                            "the login configuration process.\n\n",
52                                                            QMessageBox.No, QMessageBox.Yes)
53            if reply == QMessageBox.Yes:
54                QCloseEvent.accept()
55            else:
56                QCloseEvent.ignore()
57        else:
58            QCloseEvent.accept()
59
60if __name__ == "__main__":
61    import sys
62    app = QtWidgets.QApplication(sys.argv)
63    ui = MyWizard()
64    ui.show()
65    sys.exit(app.exec_())
Note: See TracBrowser for help on using the repository browser.