|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
[C++/Qt] File .ui e autogenerazione dei file .h
Ciao,
stavo cominciando a smanettare un poco con Qt Creator e Qt Designer, e leggendo la documentazione ho seguito un esempio per creare una piccola finestra di dialogo con Qt Designer. Fin qui tutto bene, salvo il file come miowidget.ui. Questo file contiene codice XML. Poi la documentazione parla di usare qmake per chiamare l'uic tool e convertire il contenuto dell'XML in 2 file: ui_miowidget.h e ui_miowidget.cpp, così da aggiungere codice all'occorrenza se si vogliono implementare funzioni proprie, non previste in Qt Designer. Come faccio? La documentazione parla di eseguire qmake da console ma io uso Qt Creator, su Windows (e mi sembra che la documentazione assuma che si stia lavorando in Linux Smanettando un po' son riuscito a create un progetto di tipo Qt Widget desktop, che autogenera i file .ui, .h e .cpp chiamati allo stesso modo. Al che sostituisco il mio .ui e buildo, funziona, ma i file .h e .cpp non vengono modificati, cioè rimangono come da template e non ci trovo dentro i child widget che ho messo nel mio dialogo con Qt Designer (dovrei trovarci QPushButton, QLineEdit eccetera). Sperando che qui qualcuno usi le Qt |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Feb 2005
Città: Lancusi (SA)
Messaggi: 193
|
non ho ben capito se è questo il tuo problema ma se hai installato il qt sdk, dovresti trovare anche sotto windows la console con le variabili di ambiente opportunamente settate..
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
In caso prova a fare una pulizia del progetto e lanciare la compilazione. Nella finestra di output della compilazione ( 4 | Compile Output ) dovresti trovare all'inizio una riga con qualcosa tipo Codice:
c:\QtSDK\Desktop\Qt\4.7.3\mingw\bin\uic.exe ..\test\dialog.ui -o ui_dialog.h
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Ho provato da console:
sono andato con "cd percorsocartella" nella cartella contenente 1) il file .ui 2) il file main.cpp qui riportato: Codice:
#include <QApplication>
#include <QDialog>
#include "ui_gotocelldialog.h"
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
Ui::gotocellDialog ui;
QDialog* dialog = new QDialog;
ui.setupUi(dialog);
dialog->show();
return app.exec();
}
qmake -project qmake GotoCellDialog.pro ma ha generato solo 1) cartella debug vuota 2) cartella release vuota 3) 3 makefile 4) il file .pro Nessuna traccia di headers |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2012
Messaggi: 1267
|
Update: sono un po' un bigolo, ma anche Qt Creator ci mette del suo: l'header ui_gotocelldialog.h era nella cartella del debug, non viene creato nella stessa cartella del progetto e dei file source
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:59.




















