Tout d'abord bonsoir, je suis nouveau sur ce forum. Et je viens à vous pour vous exposer un de mes problèmes. L'autre va suivre dans le topic que je vais créer juste apres. N'ayant pas trouvé les réponses que je souhaitais apres avoir chercher sur le forum.
Maintenant mon 1er probleme:
J'utilise un lecteur video phonon lancé à partir d'un PushButton vid. Ce module étant assez long à charger, il y a 3 bonnes secondes de latence. Je décide donc de mettre une barre de chargement la dessus pour montrer que le programme n'a pas planté!
Mais mon problème est que le lecteur charge, se lance, et seulement après la progressbar commence à s'incrémenter. Je ne comprends pas pourquoi...
Merci d'avance pour l'aide que vous pourrez m'apporter.
Voici mon code:
le .h
Et le cpp
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
41
42
43 #ifndef MAINDIALOG_H #define MAINDIALOG_H #include <QDialog> #include <QtGui> #include "ui_maindialog.h" namespace Ui { class Maindialog; } class Maindialog : public QDialog { Q_OBJECT public: QTimer *timer; public: Maindialog(QWidget *parent = 0); ~Maindialog(); protected: void changeEvent(QEvent *e); private slots: void ShowArticle(); void ShowVideo(); void LancerImage(); void startBar(); void updateBar(); signals: void Pho(); // void closeEvent( QCloseEvent* event ); /* Insérez les prototypes de vos slots personnalisés ici */ private: Ui::Maindialog *ui; }; #endif // MAINDIALOG_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
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
80
81
82
83 #include "maindialog.h" #include "article.h" #include "video.h" #include "ui_maindialog.h" #include <QProcess> Maindialog::Maindialog(QWidget *parent) : QDialog(parent), ui(new Ui::Maindialog) { ui->setupUi(this); timer = new QTimer(this); connect( ui->image, SIGNAL(clicked()), this, SLOT(LancerImage())); timer->setInterval(20); connect(timer, SIGNAL(timeout()), this, SLOT(updateBar())); connect(ui->vid,SIGNAL(clicked()), this, SLOT(startBar())); connect( ui->arti, SIGNAL(clicked()), this, SLOT(ShowArticle())); connect( ui->vid, SIGNAL(clicked()), this, SLOT(ShowVideo())); } Maindialog::~Maindialog() { delete ui; } void Maindialog::changeEvent(QEvent *e) { QDialog::changeEvent(e); switch (e->type()) { case QEvent::LanguageChange: ui->retranslateUi(this); break; default: break; } } void Maindialog::ShowArticle() { Article *fenArti = new Article(this); fenArti->showFullScreen(); } void Maindialog::ShowVideo() { video *fenVid = new video(this); fenVid->showFullScreen(); } void Maindialog::LancerImage() { QDesktopServices::openUrl(QUrl::fromLocalFile(QApplication::applicationDirPath()+"/Collage.exe - Raccourci")); } void Maindialog::startBar() { ui->progressBar->reset(); timer->start(); } void Maindialog::updateBar() { int value = ui->progressBar->value(), maximum = ui->progressBar->maximum(); if (value < maximum) { value ++; ui->progressBar->setValue(value); } if(value >= maximum) { timer->stop(); } }
Partager