d'abord un nouveau projet avec Qt puis clic droit sur le nom du projet -> Ajouter un nouveau .. . et faire une nouvelle classe d'interface utilisateur comme ces images: ,
maintenant vous avez deux formes. vous devez créer un objet à partir de la deuxième classe en premier.
first.h
#ifndef FIRST_H
#define FIRST_H
#include <QMainWindow>
#include <second.h>
#include <QTimer>
namespace Ui {
class First;
}
class First : public QMainWindow
{
Q_OBJECT
public:
explicit First(QWidget *parent = 0);
~First();
private slots:
void on_pushButton_clicked();
void changeWindow();
private:
Ui::First *ui;
Second *second;
QTimer * timer;
};
#endif // FIRST_H
first.cpp
#include "first.h"
#include "ui_first.h"
First::First(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::First)
{
ui->setupUi(this);
second = new Second();
timer = new QTimer();
connect(timer,&QTimer::timeout,this,&First::changeWindow);
timer->start(1000); // 1000 ms
}
First::~First()
{
delete ui;
}
void First::changeWindow()
{
if(second->isVisible())
{
second->hide();
this->show();
}
else
{
this->hide();
second->show();
}
}
void First::on_pushButton_clicked()
{
second->show();
}
fisrt.pro
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = First
TEMPLATE = app
SOURCES += main.cpp\
first.cpp \
second.cpp
HEADERS += first.h \
second.h
FORMS += first.ui \
second.ui
I possèdent pas de dispositif d'entrée pour entrer le bouton-poussoir. Puis-je utiliser de cette façon? 'QElapsedTimer renderTime; qint64 frameCount = 1; if (premier-> isVisible()) { first-> hide(); renderTime.start(); second-> showFullScreen(); printf ("% lld nano secs,", renderTime.nsecsElapsed()); } sinon { renderTime.restart(); first-> showFullScreen(); printf ("% lld nano secs,", renderTime.nsecsElapsed()); second-> hide(); } '@aghilpro –
@VamsiKrishnaNeelam oui, vous pouvez utiliser QElapsedTimer pour afficher et masquer les fenêtres. – aghilpro
@VamsiKrishnaNeelam Je l'ai fait avec Qtimer et ça marche très bien. chaque seconde Windows commute. – aghilpro