QMainWindow in QWidget umwandeln

Alles rund um die Programmierung mit Qt
Antworten
qtNiko
Beiträge: 216
Registriert: 6. April 2007 21:26
Wohnort: München

QMainWindow in QWidget umwandeln

Beitrag 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?
Gruß von qtNiko

Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Im UI-File QMainWindow durch QWidget ersetzen wäre ein Versuch wert.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
qtNiko
Beiträge: 216
Registriert: 6. April 2007 21:26
Wohnort: München

Beitrag 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.
Gruß von qtNiko

Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

??
Seit wann erzeugt der designer das ui-file jedes mal neu?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Mani99
Beiträge: 244
Registriert: 15. April 2009 10:46
Wohnort: München

Beitrag 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!
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Rechtsklick drauf "Morph into" ....
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

@Aue: seit wann geht das mit den Hauptwidget? Das es mit childs geht ja, aber Hauptwidget? Habs geraqde ausprobiert - nichts gefunden...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Sry Kommando zurück :-) Christian hat recht ;-)
qtNiko
Beiträge: 216
Registriert: 6. April 2007 21:26
Wohnort: München

Beitrag 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:
Gruß von qtNiko

Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
Antworten