查看完整版本: [-- 求代码写法 --]

QTCN开发网 -> Qt基础编程 -> 求代码写法 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

qazaq408 2017-05-18 09:37

求代码写法

现在有一个QDialog上面放了3个QPushButton,这个对话框有个参数是布尔值,如果是true则三个按钮横向排列,false则竖向排列
  1. 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);

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

rpdhunter 2017-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);
    }



ztdsj 2017-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);
这样?


查看完整版本: [-- 求代码写法 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled