[Qt Charts] Le code généré ne tient pas compte des espaces de noms
Bonjour tout le monde,
Je suis actuellement entrain de faire un projet sous visual c++ en utilisant QT. J'aimerais utiliser les nouveaux qtcharts pour dessiner des graphes.
Bref, je crée un projet (nom test) sous ms visual (avec une mainwindows), je rajoute dans la configuration projet QtCharts (dossier supplémentaire). Dans ma fenêtre principale, je crée un widget que j'upgrade, avec succes, en QChartView. Je mets les includes qui convennent et voici le fichier test.h généré
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
class test : public QMainWindow
{
Q_OBJECT
public:
test(QWidget *parent = 0);
~test();
private:
Ui::testClass ui;
}; |
Le fichier test.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
#include "test.h"
test::test(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
}
test::~test()
{
} |
Rien de bien sorcier. Le hic c'est que si je regarde dans mon ui_test.h, j'ai un truc du genre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
/********************************************************************************
** Form generated from reading UI file 'test.ui'
**
** Created by: Qt User Interface Compiler version 5.7.0
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_TEST_H
#define UI_TEST_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QToolBar>
#include <QtWidgets/QWidget>
#include "qchartview.h"
QT_BEGIN_NAMESPACE
class Ui_testClass
{
public:
QWidget *centralWidget;
QChartView *widget;
QMenuBar *menuBar;
QToolBar *mainToolBar;
QStatusBar *statusBar;
void setupUi(QMainWindow *testClass)
{
if (testClass->objectName().isEmpty())
testClass->setObjectName(QStringLiteral("testClass"));
testClass->resize(600, 400);
centralWidget = new QWidget(testClass);
centralWidget->setObjectName(QStringLiteral("centralWidget"));
widget = new QChartView(centralWidget);
widget->setObjectName(QStringLiteral("widget"));
widget->setGeometry(QRect(70, 40, 361, 191));
testClass->setCentralWidget(centralWidget);
menuBar = new QMenuBar(testClass);
menuBar->setObjectName(QStringLiteral("menuBar"));
menuBar->setGeometry(QRect(0, 0, 600, 38));
testClass->setMenuBar(menuBar);
mainToolBar = new QToolBar(testClass);
mainToolBar->setObjectName(QStringLiteral("mainToolBar"));
testClass->addToolBar(Qt::TopToolBarArea, mainToolBar);
statusBar = new QStatusBar(testClass);
statusBar->setObjectName(QStringLiteral("statusBar"));
testClass->setStatusBar(statusBar);
retranslateUi(testClass);
QMetaObject::connectSlotsByName(testClass);
} // setupUi
void retranslateUi(QMainWindow *testClass)
{
testClass->setWindowTitle(QApplication::translate("testClass", "test", 0));
} // retranslateUi
};
namespace Ui {
class testClass: public Ui_testClass {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_TEST_H |
La ligne
Code:
QChartView *widget;
pose problème. En effet il faudrait écrire soit
Code:
QtCharts::QChartView *widget;
ou rajouter un using namesapce QtCharts dans ce fichier, or, c'est pas très joli car il est regénéré automatiquement à chaque fois, donc il faudrait rajouter limite à chaque compilation la commande
Code:
using namesapce QtCharts
.
J'aimerais configurer mon programme, ou rajouter une ligne de code dans mon test.h ou test.cpp de telle façon à ce que le programme utilise ce nom d'espace lorsqu'il crée la forme.
Savez vous comme je dois procéder?