Probleme compilation Qt avec fichiers .ui
Résolu
Wazza6
Messages postés
202
Statut
Membre
-
serialtueur Messages postés 50 Statut Membre -
serialtueur Messages postés 50 Statut Membre -
Bonjour,
je suis le cours de C++ avec Qt du site du zero et la je suis bloqué... je fais tout ce qu'il faut faire mais la compilation plante.
Est-ce que quelqu'un qui pourrait me faire le code d'un .cpp basique qui fait seulement afficher une fenêtre faite avec QtDesigner (qui a été "transformé" en .h avec uic -o MainWindow.ui ) dont le .h s'appelle ui_MainWindow.h et le .ui (si c'est nécéssaire) s'appelle MainWindow.ui?
Merci
je suis le cours de C++ avec Qt du site du zero et la je suis bloqué... je fais tout ce qu'il faut faire mais la compilation plante.
Est-ce que quelqu'un qui pourrait me faire le code d'un .cpp basique qui fait seulement afficher une fenêtre faite avec QtDesigner (qui a été "transformé" en .h avec uic -o MainWindow.ui ) dont le .h s'appelle ui_MainWindow.h et le .ui (si c'est nécéssaire) s'appelle MainWindow.ui?
Merci
A voir également:
- Qt ui
- One ui - Guide
- Uniget ui - Télécharger - Divers Utilitaires
- Realme ui 4.0 - Accueil - Guide téléphones
- Qt sdk - Télécharger - Langages
- Tweak ui - Télécharger - Personnalisation
14 réponses
Salut,
Ton prof a du t'apprendre a coder proprement, a ta façon.
Prend le code du .ui de qt designer, et transforme le comme tu le veux.
Après, tu ouvre la console qt dans ton répertoirepuis :
qmake -project
qmake
make
Ton prof a du t'apprendre a coder proprement, a ta façon.
Prend le code du .ui de qt designer, et transforme le comme tu le veux.
Après, tu ouvre la console qt dans ton répertoirepuis :
qmake -project
qmake
make
"Prend le code du .ui de qt designer, et transforme le comme tu le veux. "
-Transforme le comme tu veux?
Pourquoi le transformer?
"Après, tu ouvre la console qt dans ton répertoirepuis :
qmake -project
qmake
make"
Ça , je sais , c'est là le problême : je recois toujours des codes d'erreurs, même en faisant un copier-coller de son code de main.cpp ,mais en changeant le nom du .h dans le include car ce n'est pas le même.
Code du main.cpp:
MainWindow.cpp:
mainwindow.h
... Si ça peut vous aider
-Transforme le comme tu veux?
Pourquoi le transformer?
"Après, tu ouvre la console qt dans ton répertoirepuis :
qmake -project
qmake
make"
Ça , je sais , c'est là le problême : je recois toujours des codes d'erreurs, même en faisant un copier-coller de son code de main.cpp ,mais en changeant le nom du .h dans le include car ce n'est pas le même.
Code du main.cpp:
#include <QApplication>
#include <QtGui>
#include "ui_MainWindow.h"
#include "MainWindow.cpp"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *widget = new QWidget;
Ui::CalculatorForm ui;
ui.setupUi(widget);
widget->show();
return app.exec();
}
MainWindow.cpp:
#include <QApplication>
#include <QtGui>
#include "ui_MainWindow.h"
#include "MainWindow.cpp"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget *widget = new QWidget;
Ui::CalculatorForm ui;
ui.setupUi(widget);
widget->show();
return app.exec();
}
mainwindow.h
/********************************************************************************
** Form generated from reading ui file 'MainWindow.ui'
**
** Created: Mon 13. Apr 19:32:35 2009
** by: Qt User Interface Compiler version 4.5.0
**
** WARNING! All changes made in this file will be lost when recompiling ui file!
********************************************************************************/
#ifndef UI_MAINWINDOW_H
#define UI_MAINWINDOW_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QDial>
#include <QtGui/QHeaderView>
#include <QtGui/QMainWindow>
#include <QtGui/QMenu>
#include <QtGui/QMenuBar>
#include <QtGui/QProgressBar>
#include <QtGui/QSlider>
#include <QtGui/QStatusBar>
#include <QtGui/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QAction *actionExit;
QWidget *centralwidget;
QSlider *horizontalSlider;
QProgressBar *progressBar;
QDial *dial;
QProgressBar *progressBar_2;
QMenuBar *menubar;
QMenu *menuFiles;
QStatusBar *statusbar;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(512, 325);
MainWindow->setDocumentMode(false);
MainWindow->setTabShape(QTabWidget::Rounded);
actionExit = new QAction(MainWindow);
actionExit->setObjectName(QString::fromUtf8("actionExit"));
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
horizontalSlider = new QSlider(centralwidget);
horizontalSlider->setObjectName(QString::fromUtf8("horizontalSlider"));
horizontalSlider->setGeometry(QRect(100, 30, 291, 19));
horizontalSlider->setMaximum(100);
horizontalSlider->setOrientation(Qt::Horizontal);
progressBar = new QProgressBar(centralwidget);
progressBar->setObjectName(QString::fromUtf8("progressBar"));
progressBar->setGeometry(QRect(100, 80, 341, 23));
progressBar->setValue(0);
progressBar->setTextVisible(true);
dial = new QDial(centralwidget);
dial->setObjectName(QString::fromUtf8("dial"));
dial->setGeometry(QRect(180, 150, 50, 64));
dial->setStyleSheet(QString::fromUtf8("background-color: qradialgradient(spread:repeat, cx:0.5, cy:0.5, radius:0.077, fx:0.5, fy:0.5, stop:0 rgba(0, 169, 255, 147), stop:0.497326 rgba(0, 0, 0, 147), stop:1 rgba(0, 169, 255, 147));\n"
"color: qconicalgradient(cx:0, cy:0, angle:135, stop:0 rgba(255, 255, 0, 69), stop:0.375 rgba(255, 255, 0, 69), stop:0.423533 rgba(251, 255, 0, 145), stop:0.45 rgba(247, 255, 0, 208), stop:0.477581 rgba(255, 244, 71, 130), stop:0.518717 rgba(255, 218, 71, 130), stop:0.55 rgba(255, 255, 0, 255), stop:0.57754 rgba(255, 203, 0, 130), stop:0.625 rgba(255, 255, 0, 69), stop:1 rgba(255, 255, 0, 69));"));
dial->setMaximum(100);
progressBar_2 = new QProgressBar(centralwidget);
progressBar_2->setObjectName(QString::fromUtf8("progressBar_2"));
progressBar_2->setGeometry(QRect(100, 210, 341, 23));
progressBar_2->setValue(0);
progressBar_2->setTextVisible(true);
MainWindow->setCentralWidget(centralwidget);
menubar = new QMenuBar(MainWindow);
menubar->setObjectName(QString::fromUtf8("menubar"));
menubar->setGeometry(QRect(0, 0, 512, 22));
menuFiles = new QMenu(menubar);
menuFiles->setObjectName(QString::fromUtf8("menuFiles"));
MainWindow->setMenuBar(menubar);
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QString::fromUtf8("statusbar"));
MainWindow->setStatusBar(statusbar);
menubar->addAction(menuFiles->menuAction());
menuFiles->addAction(actionExit);
retranslateUi(MainWindow);
QObject::connect(horizontalSlider, SIGNAL(sliderMoved(int)), progressBar, SLOT(setValue(int)));
QObject::connect(dial, SIGNAL(valueChanged(int)), progressBar_2, SLOT(setValue(int)));
QObject::connect(actionExit, SIGNAL(activated()), MainWindow, SLOT(close()));
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "Test", 0, QApplication::UnicodeUTF8));
actionExit->setText(QApplication::translate("MainWindow", "Exit", 0, QApplication::UnicodeUTF8));
menuFiles->setTitle(QApplication::translate("MainWindow", "Files", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_MAINWINDOW_H
... Si ça peut vous aider
et les erreurs:
C:/Users/Administrator/Documents/CC++/Qt/texteditor/texteditor/main.cpp:10: error: `CalculatorForm' is not a member of `Ui'
et d'autres erreurs qui découlent de celle là.
C:/Users/Administrator/Documents/CC++/Qt/texteditor/texteditor/main.cpp:10: error: `CalculatorForm' is not a member of `Ui'
et d'autres erreurs qui découlent de celle là.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ouais... bon le problème est règlé depuis Qt 4.5 grâce au miraculeux Qtcreator qui gère les .ui tout seul!
Il suffit seulement de retirer le .ui du projet et de modifier le ui_mainwindow.h
Il suffit seulement de retirer le .ui du projet et de modifier le ui_mainwindow.h
Que veux tu dire par là ? J'ai pas bien compris comment procéder. La pour l'instant j'ai mon main.cpp et mon ui_manwindows.h et enfin mon mainwindows.ui, j'en fait quoi ? D'habitude je compile avec qmake -project puis qmake et enfin make, mais la je dois procéder autrement ?
C'est facile si t'as Qt 4.5 sous windows... il vient avec Qt creator , tu l'ouvres et tu fais "create a new QT 4.5 project" , ensuite tu joues sur ton .ui dans ton projet . Quand tu as fait TOUT ce que tu voulais faire sur ton ui tu l'enleves tu projet et tu ajoutes le ui_mainwindow.h généré pour modifier les fonctions et ajouter des slots / signals...