生活随笔
收集整理的這篇文章主要介紹了
Qt之布局管理——堆栈窗体
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QStackedWidget類繼承于QFrame類,用于堆棧窗體的管理。
Public Slots:
void?setCurrentIndex( int?index?)??????????? index參數的索引位置的部件,是可見的。(index默認為-1,表示堆棧為空)
void?setCurrentWidget( QWidget *?widget?)??????? widget參數指定的部件,是可見的。
實現效果:
maindlg.h
#ifndef?MAINDLG_H??#define?MAINDLG_H????#include?<QtGui>??????class?MainDlg?:?public?QDialog??{??????Q_OBJECT????public:??????MainDlg(QWidget?*parent?=?0,?Qt::WFlags?flags?=?0);??????~MainDlg();????private:??????QLabel?*lab1;??????QLabel?*lab2;??????QLabel?*lab3;??????QListWidget?*m_list;??????QStackedWidget?*stack;??};????#endif?//?MAINDLG_H?? maindlg.cpp
#include?"maindlg.h"??????MainDlg::MainDlg(QWidget?*parent,?Qt::WFlags?flags)??????:?QDialog(parent,?flags)??{??????setWindowTitle(tr("Stacked?Widgets?example"));??????????????m_list?=?new?QListWidget;??????m_list->insertItem(0,tr("Window?1"));??????m_list->insertItem(1,tr("Window?2"));??????m_list->insertItem(2,tr("Window?3"));??????????????stack?=?new?QStackedWidget(this);??????lab1?=?new?QLabel(tr("This?is?window?1"));??????stack->addWidget(lab1);??????lab2?=?new?QLabel(tr("This?is?window?2"));??????stack->addWidget(lab2);??????lab3?=?new?QLabel(tr("This?is?window?3"));??????stack->addWidget(lab3);????????????????QHBoxLayout?*mainLayout?=?new?QHBoxLayout(this);??????mainLayout->addWidget(m_list);??????mainLayout->addWidget(stack,0,Qt::AlignHCenter);??????mainLayout->setMargin(5);??????mainLayout->setSpacing(5);??????mainLayout->setStretchFactor(m_list,1);??????mainLayout->setStretchFactor(stack,3);??????connect(m_list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));????}????MainDlg::~MainDlg()??{????}??
作者:韓兆新 出處:http://hanzhaoxin.cnblogs.com/ 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。 分類:?[02]Qt語言基礎 標簽:?Qt學習筆記
本文轉自韓兆新博客博客園博客,原文鏈接:http://www.cnblogs.com/hanzhaoxin/archive/2012/11/17/2774356.html,如需轉載請自行聯系原作者
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的Qt之布局管理——堆栈窗体的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。