Änderungen vom 29.5.2017
parent
4b84c6b788
commit
9c3c166650
Binary file not shown.
@ -1,53 +1,41 @@
|
||||
package gui
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/therecipe/qt/core"
|
||||
"github.com/therecipe/qt/uitools"
|
||||
"github.com/therecipe/qt/widgets"
|
||||
)
|
||||
|
||||
func SesamÖffneDich() {
|
||||
//1. Eröffne eine neue Applikation (als eine Sammlung von Widgets)
|
||||
widgets.NewQApplication(len(os.Args), os.Args) // ... übergebe Kommandozeilenparameter (ansonsten "nil")
|
||||
func ErzeugeLayout(widget *widgets.QWidget, formWidget *widgets.QWidget, t *[]int, ch chan bool) *widgets.QTextBrowser {
|
||||
/*
|
||||
var (
|
||||
ui_textinputEingabefeld = widgets.NewQTextEditFromPointer(widget.FindChild("textinputEingabefeld", core.Qt__FindChildrenRecursively).Pointer())
|
||||
ui_buttonAusloeser = widgets.NewQPushButtonFromPointer(widget.FindChild("buttonAusloeser", core.Qt__FindChildrenRecursively).Pointer())
|
||||
)
|
||||
|
||||
//2. Erzeuge ein Widget
|
||||
var widget = widgets.NewQWidget(nil, 0)
|
||||
ui_buttonAusloeser.ConnectClicked(func(checked bool) {
|
||||
widgets.QMessageBox_Information(nil, "Titel des Infofensters", ui_textinputEingabefeld.ToPlainText(), widgets.QMessageBox__Ok, widgets.QMessageBox__Ok)
|
||||
})
|
||||
*/
|
||||
|
||||
//3. Lade UI/QML (Qt Meta-object Language)-Datei und erzeuge damit indirekt
|
||||
// auch das Haupt-Fenster.
|
||||
var loader = uitools.NewQUiLoader(nil)
|
||||
var file = core.NewQFile2("./gui/qml/formular.ui")
|
||||
file.Open(core.QIODevice__ReadOnly)
|
||||
var formWidget *widgets.QWidget = loader.Load(file, widget)
|
||||
file.Close()
|
||||
|
||||
//4. Erzeuge Input-Widgets aus QML-Datei
|
||||
var (
|
||||
ui_textinputEingabefeld = widgets.NewQTextEditFromPointer(widget.FindChild("textinputEingabefeld", core.Qt__FindChildrenRecursively).Pointer())
|
||||
ui_buttonAusloeser = widgets.NewQPushButtonFromPointer(widget.FindChild("buttonAusloeser", core.Qt__FindChildrenRecursively).Pointer())
|
||||
)
|
||||
var ui_textBrowser = widgets.NewQTextBrowserFromPointer(widget.FindChild("textAusgabefeld", core.Qt__FindChildrenRecursively).Pointer())
|
||||
ui_textBrowser.SetText("Halo")
|
||||
|
||||
//5. Weise dem Knopf ein Signal zu, das beim Drücken eine Funktion ausführen soll
|
||||
ui_buttonAusloeser.ConnectClicked(func(checked bool) {
|
||||
widgets.QMessageBox_Information(nil, "Titel des Infofensters", ui_textinputEingabefeld.ToPlainText(), widgets.QMessageBox__Ok, widgets.QMessageBox__Ok)
|
||||
})
|
||||
|
||||
//6. Erzeuge ein Layout und weise es dem Widget zu
|
||||
var layout = widgets.NewQVBoxLayout()
|
||||
|
||||
//8. Weise dem Widget ein Layout zu und weise dem Layout die Input-Widges zu
|
||||
widget.SetLayout(layout)
|
||||
layout.AddWidget(formWidget, 0, 0)
|
||||
|
||||
//9. Ändere Attribute, falls nötig
|
||||
widget.SetWindowTitle("Titel des Hauptfensters Nr. 2")
|
||||
|
||||
//10. Zeichne das Haupt-Fenster
|
||||
widget.SetWindowTitle("go LGL")
|
||||
widget.Show()
|
||||
|
||||
//11. Damit die Applikation dynamisch auf Benutzereingaben/Events reagieren
|
||||
// kann, muß sie in einer Endlosschleife laufen
|
||||
widgets.QApplication_Exec()
|
||||
return ui_textBrowser
|
||||
}
|
||||
|
||||
func LeseUIFile(widget *widgets.QWidget) *widgets.QWidget {
|
||||
var loader = uitools.NewQUiLoader(nil)
|
||||
var file = core.NewQFile2("./gui/qml/formular.ui")
|
||||
file.Open(core.QIODevice__ReadOnly)
|
||||
var formWidget *widgets.QWidget = loader.Load(file, widget)
|
||||
file.Close()
|
||||
return formWidget
|
||||
}
|
||||
|
Loading…
Reference in New Issue