• 7072阅读
  • 1回复

qt中toolBox控件使用问题 [复制链接]

上一主题 下一主题
离线w0zg
 
只看楼主 倒序阅读 楼主  发表于: 2006-12-25
小弟刚开始学习qt,现在想使用toolBox控件做一个小程序,但不知怎么往每个栏目中加子栏目,请高手们给一段实例代码看看,谢谢!
linux: RedHat 9.0
离线XChinux

只看该作者 1楼 发表于: 2006-12-25
参考一下下面的代码:

QSqlQuery q;
  q.exec("SELECT moduleid, title, titleshort FROM module");
  while (q.next())
  {
    QWidget *widget = new QWidget;
    QVBoxLayout *layout = new QVBoxLayout;
    layout->setSpacing(1);
    layout->setMargin(1);
    QSqlQuery q2;
    q2.exec("SELECT title, titleshort, functype, funcid FROM modulefunc WHERE moduleid = '" + q.value(0).toString() + "'");
    while (q2.next())
    {
        FuncToolButton *button = new FuncToolButton(q.value(0).toString(), q2.value(2).toInt(), q2.value(3).toInt());
        button->setAutoRaise(true);
        button->setIcon(QIcon("../img/ex1.png"));
        button->setIconSize(QSize(48, 48));
        button->setText(q2.value(0).toString());
        button->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
        button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
        connect(button, SIGNAL(clicked(QString, int, int, QString)), this, SLOT(on_actionAct_triggered(QString, int, int, QString)));
        layout->addWidget(button);
    }
    q2.clear();
    layout->addItem(new QSpacerItem(toolBox->width(), toolBox->height(), QSizePolicy::Minimum, QSizePolicy::Expanding));
    widget->setLayout(layout);
    toolBox->addItem(widget, QIcon("../img/ex1.png"), QString("%1").arg(q.value(1).toString()));
  }
  q.clear();
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个