0
私はqtウィジェットから作成したメインウィンドウアプリケーションを持っています。マルチウィンドウQtアプリケーションの作成方法
今、私は、メインウィンドウと子ウィンドウを切り替えることができるように、このメインウィンドウに子ウィンドウを追加する継続的
私はqtウィジェットから作成したメインウィンドウアプリケーションを持っています。マルチウィンドウQtアプリケーションの作成方法
今、私は、メインウィンドウと子ウィンドウを切り替えることができるように、このメインウィンドウに子ウィンドウを追加する継続的
まずプロジェクト名をQtの後、右クリックして新しいプロジェクトを作成する - >新を追加します。.. 。 と、この画像のような新しいUIクラスます を、
今あなたは2つの形式があります。 最初に2番目のクラスからオブジェクトを作成する必要があります。
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は入力への入力装置のプッシュボタンを有していません。この方法で使用できますか? 'QElapsedTimer renderTime; qint64 frameCount = 1; if(first-> isVisible()) { first-> hide(); renderTime.start(); second-> showFullScreen(); printf( "%lld nano secs、"、renderTime.nsecsElapsed()); } else { renderTime.restart(); first-> showFullScreen(); printf( "%lld nano secs、"、renderTime.nsecsElapsed()); second-> hide(); } '@aghilpro –
@VamsiKrishnaNeelamはい、QElapsedTimerを使用してウィンドウを表示したり非表示にすることができます。 – aghilpro
@VamsiKrishnaNeelam私はQtimerでそれを行い、正常に動作します。 1秒ごとにWindowsが切り替わります。 – aghilpro