Ich habe eine Hauptfensteranwendung aus Qt-Widget erstellt.So erstellen Sie eine Multi-Fenster Qt-Anwendung
Nun also mag ich ein Kind Fenster zu diesem Hauptfenster hinzufügen, dass ich das Hauptfenster und Kind Fenster
Ich habe eine Hauptfensteranwendung aus Qt-Widget erstellt.So erstellen Sie eine Multi-Fenster Qt-Anwendung
Nun also mag ich ein Kind Fenster zu diesem Hauptfenster hinzufügen, dass ich das Hauptfenster und Kind Fenster
zunächst ein neues Projekt mit Qt macht dann Rechtsklick auf Projektnamen ständig wechseln -> Hinzufügen .. Sie zwei Formen haben
jetzt .,: und eine neue UI-Klasse wie diese Bilder machen. Sie müssen ein Objekt aus der zweiten Klasse in First machen.
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
Ich habe keine Eingabegerät die Drucktaste zur Eingabe. Kann ich diesen Weg benutzen? 'QElapsedTimer renderTime; qint64 frameCount = 1; if (first-> isVisible()) { first-> hide(); renderTime.start(); zweite-> showFullScreen(); printf ("% lld nano secs", renderTime.nsecsElapsed()); } sonst { renderTime.restart(); zuerst-> showFullScreen(); printf ("% lld nano secs", renderTime.nsecsElapsed()); zweite-> verstecken(); } '@aghilpro –
@VamsiKrishnaNeelam Ja, Sie können QElapsedTimer verwenden, um Fenster ein- und auszublenden. – aghilpro
@VamsiKrishnaNeelam Ich habe es mit Qtimer gemacht und es funktioniert gut. jede Sekunde Windows wechseln. – aghilpro