From 060838bee106708358012f34d66d157bbc8caa65 Mon Sep 17 00:00:00 2001 From: Rick Calixte <10281587+rcalixte@users.noreply.github.com> Date: Sat, 9 Nov 2024 20:23:01 -0500 Subject: [PATCH] Add trivialwizard6 This uses Qt6 QWizardPage instances to create a sample introductory wizard for an application. This is ported from: https://github.com/jimmykuu/therecipe-qt-examples/blob/master/widgets/dialogs/trivialwizard/trivialwizard.go --- .gitignore | 1 + examples/trivialwizard6/main.go | 72 +++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 examples/trivialwizard6/main.go diff --git a/.gitignore b/.gitignore index ef3f3b3d..4bc10a6f 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ examples/helloworld6/helloworld6 examples/mdoutliner/mdoutliner examples/windowsmanifest/windowsmanifest examples/uidesigner/uidesigner +examples/trivialwizard6/trivialwizard6 examples/libraries/extras-scintillaedit/extras-scintillaedit examples/libraries/qt-multimedia/qt-multimedia examples/libraries/qt-network/qt-network diff --git a/examples/trivialwizard6/main.go b/examples/trivialwizard6/main.go new file mode 100644 index 00000000..5e28a548 --- /dev/null +++ b/examples/trivialwizard6/main.go @@ -0,0 +1,72 @@ +package main + +import ( + "os" + + qt "github.com/mappu/miqt/qt6" +) + +func createIntroPage() *qt.QWizardPage { + var page = qt.NewQWizardPage2() + page.SetTitle("Introduction") + + var label = qt.NewQLabel6("This wizard will help you register your copy "+ + "of Super Product Two.", page.QWidget, 0) + label.SetWordWrap(true) + + var layout = qt.NewQVBoxLayout2() + layout.AddWidget3(label.QWidget, 0, 0) + page.QWidget.SetLayout(layout.QBoxLayout.QLayout) + + return page +} + +func createRegistrationPage() *qt.QWizardPage { + var page = qt.NewQWizardPage2() + page.SetTitle("Registration") + page.SetSubTitle("Please fill both fields.") + + var nameLabel = qt.NewQLabel6("Name:", page.QWidget, 0) + var nameLineEdit = qt.NewQLineEdit(page.QWidget) + + var emailLabel = qt.NewQLabel6("Email address:", page.QWidget, 0) + var emailLineEdit = qt.NewQLineEdit(page.QWidget) + + var layout = qt.NewQGridLayout(page.QWidget) + layout.AddWidget2(nameLabel.QFrame.QWidget, 0, 0) + layout.AddWidget2(nameLineEdit.QWidget, 0, 1) + layout.AddWidget2(emailLabel.QFrame.QWidget, 1, 0) + layout.AddWidget2(emailLineEdit.QWidget, 1, 1) + page.SetLayout(layout.QLayout) + + return page +} + +func createConclusionPage() *qt.QWizardPage { + var page = qt.NewQWizardPage2() + page.SetTitle("Conclusion") + + var label = qt.NewQLabel6("You are now successfully registered. Have a "+ + "nice day!", page.QWidget, 0) + label.SetWordWrap(true) + + var layout = qt.NewQVBoxLayout2() + layout.AddWidget3(label.QWidget, 0, 0) + page.SetLayout(layout.QBoxLayout.QLayout) + + return page +} + +func main() { + qt.NewQApplication(os.Args) + + var wizard = qt.NewQWizard2() + wizard.AddPage(createIntroPage()) + wizard.AddPage(createRegistrationPage()) + wizard.AddPage(createConclusionPage()) + + wizard.QWidget.SetWindowTitle("Trivial Wizard") + wizard.QWidget.Show() + + qt.QApplication_Exec() +}