• 2435阅读
  • 2回复

求代码写法 [复制链接]

上一主题 下一主题
离线qazaq408
 

只看楼主 倒序阅读 楼主  发表于: 2017-05-18
现在有一个QDialog上面放了3个QPushButton,这个对话框有个参数是布尔值,如果是true则三个按钮横向排列,false则竖向排列
  1. if(Dirc)  // 这样写layout只在if语句内生成,无法在if语句外使用
  2.     QHBoxLayout* layout = new QHBoxLayout;
  3. esle
  4.     QVBoxLayout*  layout = new QVBoxLayout;
  5. layout->addWidget(button1);
  6. layout->addWidget(button2);
  7. layout->addWidget(button3);
  8. setLayout(layout);

我想问下这样的代码该怎么写?如何根据不同情况生成不同类的对象
离线rpdhunter

只看该作者 1楼 发表于: 2017-05-18
    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);
    }


离线ztdsj

只看该作者 2楼 发表于: 2017-05-18
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);
这样?
快速回复
限100 字节
 
上一个 下一个