Qt学习之路五——堆栈窗体QStackedWidget类

在实际运用中堆栈窗体经常和QListWidget下拉列表框QComboBox配合使用。

现在我们手动地创建一个堆栈窗体。新建一个工程,取消创建图形界面。在这个功能中需要使用到,QListWidget对象、QTextEdit对象、QStackedWidget对象以及用于水平布局的QHBoxLayout对象。所以我们需要在类中添加相应的成员。

然后我们需要在这个类的构造函数中添加如下的代码。

新建一个QListWidget对象,并且向其中三个条目,作为选择的选项。

list = new QListWidget(this);
//在新建的QListWidget控件中插入三个条目作为选项
list->insertItem(0, "windows1");
list->insertItem(1, "windows2");
list->insertItem(2, "windows3");

然后将三个QTextEdit对象初始化,并且给它们设定一下属性,让它们的文本居中对齐。

//创建三个QTextEdit控件依次插入堆栈窗体中
text1 = new QTextEdit("文本编辑框1");
text1->setAlignment(Qt::AlignCenter);

text2 = new QTextEdit("文本编辑框2");
text2->setAlignment(Qt::AlignCenter);

text3 = new QTextEdit("文本编辑框3");
text3->setAlignment(Qt::AlignCenter);

再将这三个文本编辑框依次插入到堆栈窗体中就可以了

stack = new QStackedWidget(this);
stack->addWidget(text1);
stack->addWidget(text2);
stack->addWidget(text3)

接下来就是将QListWidget对象和QStackedWidget对象进行水平布局。

mainlayout =  new QHBoxLayout(this);
mainlayout->setMargin(5);
mainlayout->setSpacing(5);
mainlayout->addWidget(list);
mainlayout->addWidget(stack);
mainlayout->setStretchFactor(list, 1);
mainlayout->setStretchFactor(stack, 4);

这里说一下setStretchFactor();函数的作用,这里表示list和stack两者之间的比例,以上的例子是1:4,

最后将list和stack通过信号和槽连接起来我们就可以根据选择list中的选项,来显示不同是文本编辑框了。




猜你喜欢

转载自blog.csdn.net/y____xiang/article/details/80369074