bonjour,
j'ai tapé un petit programme issu d'un livre sur Qt; c'est un prog de tableur,
dont les principaux fichiers sont:
main.cpp
sortdialog.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <QtGui> #include <QApplication> #include <QDialog> //#include "finddialog.h" //#include "ui_gotocelldialog.h" //#include "gotocelldialog.h" #include "../sort/sortdialog.h" int main(int argc,char* argv[]) { QApplication app(argc,argv); //FindDialog* dialog=new FindDialog; //dialog->show(); //Ui::GoToCellDialog ui; //QDialog* dialog=new QDialog; //ui.setupUi(dialog); //dialog->show(); //GoToCellDialog* dialog=new GoToCellDialog; //=new GoToCellDialog; //dialog->show(); QDialog* dlg=new QDialog(); dlg->show(); SortDialog* dialog; dialog=new SortDialog(dlg); dialog->setColumnRange('C','F'); dialog->show(); return app.exec(); }
il est à noter que main.cpp est dans le répertoire principal du projet, tandis que sortdialog.h est dans un sous-rép. sort.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #ifndef SORT_H_ #define SORT_H_ #include <QDialog> #include "ui_sort.h" class SortDialog : public QDialog, public Ui::SortDialog { Q_OBJECT public: SortDialog(QWidget* parent=0); void setColumnRange(QChar first, QChar last); }; #endif /*SORT_H_*/
l'erreur, c'est que lorsque je lance le programme, la QDialog s'affiche mais windows previent rapidement que le programme a cessé de fonctionner (c'est vista dont je parle), qu'il recherche une solution...
j'ai verifié, les lignes responsables de cette erreur sont celles avec une flèche.
pour info, voici sortdialog.h (aussi dans le répertoire tableur/sort):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <QtGui> #include "sortdialog.h" SortDialog::SortDialog(QWidget* parent) : QDialog(parent) { setupUi(this); secondaryGroupBox->hide(); tertiaryGroupBox->hide(); layout()->setSizeConstraint(QLayout::SetFixedSize); setColumnRange('A','Z'); } void SortDialog::setColumnRange(QChar first, QChar last) { primaryColumnCombo->clear(); secondaryColumnCombo->clear(); tertiaryColumnCombo->clear(); secondaryColumnCombo->addItem("None"); tertiaryColumnCombo->addItem("None"); primaryColumnCombo->setMinimumSize(secondaryColumnCombo->sizeHint()); QChar ch=first; while (ch<=last) { primaryColumnCombo->addItem(QString(ch)); secondaryColumnCombo->addItem(QString(ch)); tertiaryColumnCombo->addItem(QString(ch)); ch=ch.unicode()+1; } }
lolveley.
PS: à la compilation, j'obtiens parfois l'erreur suivante (qui n'empêche pas le programme de planter à l'exécution:
Problem occured;
launching new configuration
invalid byte-1 of 1-byte UTF-8 sequence
et: unable to parse XML document
Partager