Hallo,
ich habe ein Programm geschrieben welches als GUI QDialog verwendet und nicht QMainWindow. Wenn ich die Qt Doku richtig verstanden habe kann ich in QDialog keine Menues nutzen, nur in QMainWindow, daher moechte ich mein Programm nun aendern. Die GUI ist mit dem designer erstellt. Meine Idee war nun im Source Code sowie im ui File alle QDialog durch QMainWindow zu ersetzen. Leider geht das schon im ui File in die Hose. Wenn ich das geaenderte ui File im Desinger oeffnen moechte sehe ich meine (nun verhunzte GUI) nur im preview Modus, kann sie aber nicht mehr aendern. Das verhunzte waere nicht so schlimm, sind nur ein paar Clicks. Wie kann ich das ganze am besten umbauen?
Nutze Qt4.
Danke,
J.
Wechsel QDialog -> QMainWindow
-
Flachkoepper
- Beiträge: 149
- Registriert: 11. Januar 2005 12:14
- Wohnort: Hannover
Re: Wechsel QDialog -> QMainWindow
Mit QMenu ... http://doc.trolltech.com/4.2/qmenu.html kann man ueberall menu hinzufuegen ... jedoch qmainwindow kann es nur eine geben pro applikation.... sogar auf einen button... kann man menu setzen....joebar hat geschrieben:Hallo,
ich habe ein Programm geschrieben welches als GUI QDialog verwendet und nicht QMainWindow. Wenn ich die Qt Doku richtig verstanden habe kann ich in QDialog keine Menues nutzen, nur in QMainWindow, daher moechte ich mein Programm nun aendern. Die GUI ist mit dem designer erstellt. Meine Idee war nun im Source Code sowie im ui File alle QDialog durch QMainWindow zu ersetzen. Leider geht das schon im ui File in die Hose. Wenn ich das geaenderte ui File im Desinger oeffnen moechte sehe ich meine (nun verhunzte GUI) nur im preview Modus, kann sie aber nicht mehr aendern. Das verhunzte waere nicht so schlimm, sind nur ein paar Clicks. Wie kann ich das ganze am besten umbauen?
Nutze Qt4.
Danke,
J.
beispiel:
toolButton ist ein button....
Code: Alles auswählen
void Tab_Oggetto::MenuAlternativo()
{
QAction *salvafileserver = new QAction(this);
salvafileserver->setIcon(QIcon(QString::fromUtf8(":/images/img/text_editor/filesave.png")));
salvafileserver->setText(tr("Salva sul server pagina - immagini"));
salvafileserver->setStatusTip(tr("Salva sul server pagina - immagini"));
connect(salvafileserver, SIGNAL(activated()), this, SLOT(Compose_Server_Xml()));
QAction *schedacliente = new QAction(this);
schedacliente->setIcon(QIcon(QString::fromUtf8(":/images/img/viewpdf.png")));
schedacliente->setText(tr("Genera la scheda cliente PDF"));
schedacliente->setStatusTip(tr("Genera la scheda cliente PDF"));
connect(schedacliente, SIGNAL(activated()), this, SLOT(SchedulePDF()));
QAction *visionacartella = new QAction(this);
visionacartella->setIcon(QIcon(QString::fromUtf8(":/images/img/text_editor/fileopen.png")));
visionacartella->setText(tr("Apri cartella"));
visionacartella->setStatusTip(tr("Apri cartella"));
connect(visionacartella, SIGNAL(activated()), this, SLOT(OpenPath()));
QAction *browservedi = new QAction(this);
browservedi->setText(tr("Visiona nel Browser"));
browservedi->setIcon(QIcon(QString::fromUtf8(":/images/img/text_editor/applications-internet.png")));
browservedi->setStatusTip(tr("Visiona nel Browser"));
connect(browservedi, SIGNAL(activated()), this, SLOT(OpenBrowserPath()));
QPushButton *toolButton = new QPushButton(tr("Azioni sul server"));;
toolButton->setIcon(QIcon(QString::fromUtf8(":/images/img/text_editor/info.png")));
QMenu *menu = new QMenu(this);
menu->addAction(salvafileserver);
menu->addAction(schedacliente);
menu->addAction(visionacartella);
menu->addAction(browservedi);
toolButton->setMenu(menu);
gridLayout6->addWidget(toolButton, 0, 4, 1, 1);
}
.........................
speack português italiano deutsch english castellà qt
speack português italiano deutsch english castellà qt
Das mit den Menus hatte ich so aus der Trolltech Doku entnommen, na gut in QDialog hatten sie sich ueber Menus ausgeschwiegen und in QMainWindow erwaehnt, war wohl fehlinterpretation.
Ich hatte gelesen (weiss leider nicht mehr wo), dass man QDialog fuer einfachere UI's nimmt und QMainWindow fuer echte Applikationen. Wenn ich nun mehrere MainWindows in einer Applikation haben kann und auch Menus in QDialog sehe ich nicht mehr so richtig den Unterschied. Wo ist denn nun der wichtige Unterschied?
Ich hatte gelesen (weiss leider nicht mehr wo), dass man QDialog fuer einfachere UI's nimmt und QMainWindow fuer echte Applikationen. Wenn ich nun mehrere MainWindows in einer Applikation haben kann und auch Menus in QDialog sehe ich nicht mehr so richtig den Unterschied. Wo ist denn nun der wichtige Unterschied?