2017-08-17 3 views
0

私はQtを初めて使っており、Qtデザイナーツールを使用してQStackedWidgetクラスを見つけたので、複数のウィンドウを持つGUIを作成する必要があります。GUIでQStackedWidgetを使用するには?

I追加QStackedWidget>新規作成を追加使用したQt Designerフォームクラス - > Qstackwidget私はでStackedWidgetを表示しようとした後、

#ifndef MAINWINDOW_H 
#define MAINWINDOW_H 

#include <QMainWindow> 
#include<stackedwidget.h> 

namespace Ui { class MainWindow; } 

class MainWindow : public QMainWindow { 
    Q_OBJECT 

public: 
    explicit MainWindow(QWidget *parent = 0); 
    ~MainWindow(); 

private slots: 
    void on_pushButton_clicked(); 

private: 
    Ui::MainWindow *ui; 
    StackedWidget *stk; }; 

#endif // MAINWINDOW_H 

私のメインウィンドウで、このクラスのオブジェクトを作成した後

#include "mainwindow.h" 
#include "ui_mainwindow.h" 

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 

} 

MainWindow::~MainWindow() 
{ 
    delete ui; 
} 

void MainWindow::on_pushButton_clicked() 
{ 
    stk = new StackedWidget(this); 
    stk->show(); 
} 

しかし、stackwidgetは開いていません。

私は間違って何をやっているのですか?QStackedWidgetデザイナーツールを使用してGUIを実装する方法を教えてください。

+0

あなたはそのウィジェットで何をしたいと思いますか? – eyllanesc

+0

'stk = new StackedWidget(this);を変更します。 stk-> show(); 'を' stk = new StackedWidget(this);に変更します。 – eyllanesc

+0

複数のページを追加したいが、今は表示方法を理解できないよ –

答えて

1

QStackedWidgetクラスは、一度に1つのウィジェットしか表示されないウィジェットのスタックを提供します。

あなたはQtのに慣れていので、私はあなたのQt Designerを使用することをお勧め:Image Example

あなたはそれが、次のページに移動し、あまりにもそれで動作するように矢印を使用してカスタマイズフォームに&ドロップStackedWidgetを、ドラッグすることができます。

ベクトルのようにStackedWidgetを使用すると、インデックスを介してそれらにアクセスできます。

ui->stackedWidget->setCurrentIndex(1); 
関連する問題