2017-08-17 6 views
0

Ich bin neu in Qt und muss eine GUI mit mehreren Fenstern dafür machen Ich fand QStackedWidget Klasse mit Qt Designer-Tools.Wie verwende ich QStackedWidget in der GUI?

Ich habe QStackedWidget neuen- mit Add> Qt Designer Form Klassen-> Qstackwidget

nach, dass ich ein Objekt dieser Klasse in meinem Hauptfenster erstellt

#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 

dann habe ich versucht, StackedWidget angezeigt durch :

Stackwidget wird nicht geöffnet.

Kann mir jemand sagen, was mache ich falsch und wie implementiert man QStackedWidget GUI mit Designer-Tools?

+0

Was möchten Sie mit diesem Widget tun, was erwarten Sie? – eyllanesc

+0

Change 'stk = new StackedWidget (this); stk-> show(); 'zu' stk = neu StackedWidget (this); centralWidget() -> layout() -> addWidget (stk); ' – eyllanesc

+0

Ich möchte mehrere Seiten hinzufügen, aber im Moment bin ich nicht einmal in der Lage zu verstehen, wie man es anzeigt –

Antwort

1

Die Klasse QStackedWidget bietet einen Stapel Widgets, in denen jeweils nur ein Widget sichtbar ist.

Ihre neu sind so Qt Ich schlage vor, Sie Qt Designer zu verwenden: Image Example

Sie & Tropfen StackedWidget zu Ihrem Formular ziehen, besonders angefertigt es dann Pfeile auch zur nächsten Seite und die Arbeit an ihm gehen verwenden.

StackedWidget wie ein Vektor können Sie über Indizes auf sie zugreifen.

ui->stackedWidget->setCurrentIndex(1); 
Verwandte Themen