Seite 1 von 1

QMainWindow in QWidget umwandeln

Verfasst: 1. Februar 2010 22:11
von qtNiko
hi,

ich habe ein Programm, das diverse Dateien erzeugt. Dazu habe ich mir ein weiteres Programm mit Qt-GUI erstellt, um den Inhalt der Dateien zu visualisieren. Dieses Programm ist ein QMainWindow mit Menue, etc.

Nun möchte ich jedoch die Visualisierungen in das erste Programm einbauen und suche einen Weg, wie ich aus dem QMainWindow auf einfache Weise ein QWidget machen kann, über das ich dann aus dem ersten Programm heraus die Daten visualisieren kann.

Ich möchte natürlich nicht alles noch einmal eingeben. Obwohl es mit dem Qt-Designer recht einfach geht, die Oberfläche zu erstellen, ist es mit den vielen Namen schon viel mühsamer. Ich möchte alle Namen erhalten, damit ich den Quellcode möglichst unverändert übernehmen kann.

Das QWidget soll so aussehen, wie das QMainWindow, nur ohne Menue. Wie kriege ich das am einfachsten hin?

Verfasst: 1. Februar 2010 23:13
von Christian81
Im UI-File QMainWindow durch QWidget ersetzen wäre ein Versuch wert.

Verfasst: 1. Februar 2010 23:37
von qtNiko
Danke, ich werd's mal versuchen.

Da ich jedoch mit dem Qt-Designer arbeite, ist eine Änderung im ui-File nichts von Dauer. Der Designer erzeugt ja das ui-File automatisch. Ich muss dann die Finger vom Designer lassen.

Verfasst: 2. Februar 2010 06:27
von Christian81
??
Seit wann erzeugt der designer das ui-file jedes mal neu?

Verfasst: 2. Februar 2010 09:27
von Mani99
@Christian81: Ich glaube seit version 0.1! :D

@qtNiko:

Du musst auch den source im dazugehörigen header file zum ui-file ändern, dann wird das in das ui-file übernommen!

Verfasst: 2. Februar 2010 09:38
von Christian81
Ich kapiere nicht was ihr wollt...
"Da ich jedoch mit dem Qt-Designer arbeite, ist eine Änderung im ui-File nichts von Dauer."

Wenn ich also im ui-File QMainWindow nach QWidget ändere und danach im Designer das UI-File lade - wieso sollte es dann auf einmal wieder ein QMainWindow sein??? Er will doch nur einen Hack damit er aus seinen aus versehen als QMainWindow erzeugten Widget ein QWidget zu machen...

Verfasst: 2. Februar 2010 10:31
von AuE
Rechtsklick drauf "Morph into" ....

Verfasst: 2. Februar 2010 11:02
von Christian81
@Aue: seit wann geht das mit den Hauptwidget? Das es mit childs geht ja, aber Hauptwidget? Habs geraqde ausprobiert - nichts gefunden...

Verfasst: 2. Februar 2010 11:27
von AuE
Sry Kommando zurück :-) Christian hat recht ;-)

Verfasst: 2. Februar 2010 22:49
von qtNiko
hi,
Christian81 hat schon Recht. Der Trick mit dem Umbenennen im ui-File klappt - danke.

Das ist aber noch längst nicht alles. Im Sourcecode ist auch einiges entsprechend anzupassen. Momentan kämpfe ich noch damit, dass der Compiler viele GUI-Elemente, die alle definiert sind, als "not declared" bezeichnet.
Ich brauchte mich darum bisher nicht zu kümmern, weil die Qt-Integration einem alles abnimmt, wenn man damit ein Programm mit diversen Widgets erstellt. Aber ich werd's noch hinkriegen - wenn nicht, melde ich mich wieder :wink: