Teile eines Fensters im Programm verändern
Verfasst: Dienstag 6. Juli 2010, 00:06
Hallo!
Ich habe im Creator ein MainWidget erstellt und designed. Bis jetzt auch alles gut. Nur möchte ich nun, dass wenn ich einen Button drücke, die rechte Hälfte des Fensters (also alle Buttons, Labels, etc. IN dem Fenster) verschwinden und Platz für neue Buttons, etc. machen.
Bis jetzt hab ich das so gelöst, dass ich im Creator alle sich dort zuerst befindenen Widgets in ein "Unterwidget" gepackt hab. Also einfach links in der Liste unter "Containers" "Widget" ausgewählt, und alles andere da reingezogen.
Anschließend, habe ich eine neue Widget-Ui Datei erstellt und alle neuen Buttons, etc. so positioniert, wie sie sich später im MainWindow befinden sollten.
Nach pyuic4.... hatte ich dann einmal die nochmale MainWindowdatei und die Klasse für das Ersatzwidget mit den neuen Buttons darin.
Jetzt habe ich die neue Klasse importiert und das alte Widget einfach per hide() unsichtbar gemacht. Dann habe ich eine neue Variable self.new als Instanz der neuen Klasse gewählt. Bei self.new.setupUi() habe ich als Parameter das alte Widget gewählt.
Das ganze funktioniert zwar, ist aber total unübersichtlich und imo extrem unsauber. Gibts da ein gewisses Verfahren für?
Ich hoffe ihr wisst was ich meine.
Ich habe im Creator ein MainWidget erstellt und designed. Bis jetzt auch alles gut. Nur möchte ich nun, dass wenn ich einen Button drücke, die rechte Hälfte des Fensters (also alle Buttons, Labels, etc. IN dem Fenster) verschwinden und Platz für neue Buttons, etc. machen.
Bis jetzt hab ich das so gelöst, dass ich im Creator alle sich dort zuerst befindenen Widgets in ein "Unterwidget" gepackt hab. Also einfach links in der Liste unter "Containers" "Widget" ausgewählt, und alles andere da reingezogen.
Anschließend, habe ich eine neue Widget-Ui Datei erstellt und alle neuen Buttons, etc. so positioniert, wie sie sich später im MainWindow befinden sollten.
Nach pyuic4.... hatte ich dann einmal die nochmale MainWindowdatei und die Klasse für das Ersatzwidget mit den neuen Buttons darin.
Jetzt habe ich die neue Klasse importiert und das alte Widget einfach per hide() unsichtbar gemacht. Dann habe ich eine neue Variable self.new als Instanz der neuen Klasse gewählt. Bei self.new.setupUi() habe ich als Parameter das alte Widget gewählt.
Das ganze funktioniert zwar, ist aber total unübersichtlich und imo extrem unsauber. Gibts da ein gewisses Verfahren für?
Ich hoffe ihr wisst was ich meine.