Qt高手请进,有关QStackedWidget问题

trustguan 2012-11-05 11:05:52
#include "dialog.h"
#include<QLabel>
#include<QStackedWidget>
#include<QListWidget>
#include<QHBoxLayout>
#include<QWidget>
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
QWidget *widget1=new QWidget(this);
QWidget *widget2=new QWidget(this);
QLabel *label1=new QLabel(widget1);
QLabel *label2=new QLabel(widget2);
label1->setText("the first page");
label2->setText("the second page");
QStackedWidget *stack=new QStackedWidget;
QListWidget *list=new QListWidget;
list->insertItem(0,"first");
list->insertItem(1,"second");
stack->addWidget(widget1);
stack->addWidget(widget2);
widget1->show();
widget2->show();

QHBoxLayout *layout=new QHBoxLayout(this);
layout->setMargin(5);
layout->addWidget(list,1);
layout->addWidget(stack,2,Qt::AlignHCenter);
layout->setSpacing(5);
connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int)));
stack->setCurrentIndex(1);
this->resize(500,400);
}

Dialog::~Dialog()
{

}


我想问为什么运行后widget1显示不出来,希望高手能够解答,请高手把上面代码运行一次后才告诉我问题出在哪里,因为我的可用分有限,不能经常发帖,我是菜鸟来的,请高手多多包涵。
...全文
302 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2012-11-06
  • 打赏
  • 举报
回复
引用 3 楼 allencui0313 的回复:
出来了啊。。。我这儿就出来了。。 #include "dialog.h" #include "ui_dialog.h" #include<QLabel> #include<QStackedWidget> #include<QListWidget> #include<QHBoxLayout> #include<QWidget> Dialog::Dia……
高手,求帮助啊!!!
「已注销」 2012-11-06
  • 打赏
  • 举报
回复
引用 3 楼 allencui0313 的回复:
出来了啊。。。我这儿就出来了。。 #include "dialog.h" #include "ui_dialog.h" #include<QLabel> #include<QStackedWidget> #include<QListWidget> #include<QHBoxLayout> #include<QWidget> Dialog::Dia……
高手,求邮箱,我有个demo运行不了,我想发给你看看出了问题。
  • 打赏
  • 举报
回复
出来了啊。。。我这儿就出来了。。 #include "dialog.h" #include "ui_dialog.h" #include<QLabel> #include<QStackedWidget> #include<QListWidget> #include<QHBoxLayout> #include<QWidget> Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); QWidget *widget1=new QWidget(this); QWidget *widget2=new QWidget(this); QLabel *label1=new QLabel(widget1); QLabel *label2=new QLabel(widget2); label1->setText("the first page"); label2->setText("the second page"); QStackedWidget *stack=new QStackedWidget; QListWidget *list=new QListWidget; list->insertItem(0,"first"); list->insertItem(1,"second"); stack->addWidget(widget1); stack->addWidget(widget2); widget1->show(); widget2->show(); QHBoxLayout *layout=new QHBoxLayout(this); layout->setMargin(5); layout->addWidget(list); layout->addWidget(stack); layout->setSpacing(5); connect(list,SIGNAL(currentRowChanged(int)),stack,SLOT(setCurrentIndex(int))); stack->setCurrentIndex(1); this->resize(500,400); } Dialog::~Dialog() { delete ui; }
「已注销」 2012-11-06
  • 打赏
  • 举报
回复
引用 1 楼 allencui0313 的回复:
// layout->addWidget(list,1); // layout->addWidget(stack,2,Qt::AlignHCenter); layout->addWidget(list); layout->addWidget(stack); 这样就出来了。
高手,求帮忙啊!!!
  • 打赏
  • 举报
回复
// layout->addWidget(list,1); // layout->addWidget(stack,2,Qt::AlignHCenter); layout->addWidget(list); layout->addWidget(stack); 这样就出来了。

16,820

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧