首页| 论坛| 消息

标题:求代码写法
作者:qazaq408
日期:2017-05-18 09:37
内容:

现在有一个QDialog上面放了3个QPushButton,这个对话框有个参数是布尔值,如果是true则三个按钮横向排列,false则竖向排列
if(Dirc)// 这样写layout只在if语句内生成,无法在if语句外使用
QHBoxLayout* layout = new QHBoxLayout;
esle
QVBoxLayout*layout = new QVBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
setLayout(layout);
我想问下这样的代码该怎么写?如何根据不同情况生成不同类的对象


#1 [rpdhunter 05-18 10:01]
if(Dirc){// 那就全放到if内就行了
QHBoxLayout* layout = new QHBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
setLayout(layout);
}
else{
QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
setLayout(layout);
}
#2 [ztdsj 05-18 10:38]
QLayout *layout;
if(Dirc)  // 这样写layout只在if语句内生成,无法在if语句外使用
    layout = new QHBoxLayout;
esle
    layout = new QVBoxLayout;
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
setLayout(layout);
这样?

回复 发表
主题 版块