读书频道 > 网站 > 网页设计 > Linux环境下Qt4图形界面与MySQL编程
3.6.5 示例10:ToolBox的应用
12-11-05    奋斗的小年轻
收藏    我要投稿   
在Linux操作系统环境下,图形界面与数据库编程技术越来越受到广泛重视。本书以图形界面编程控件与数据库编程基础→简单易学的实例→实际工程项目开发与场景分析为写作主线,以当前最新的Qt4.7为依据,采...立即去当当网订购

在这个示例中,我们只是简单地设计了Qt Creator中的工具箱的模型,没有实际操作功能。

首先建立一个空项目,在空项目中添加新建C++Class,新添加的C++Class配置如图3-49所示。


 

1.示例说明

本示例只是实现了类似于Qt Creator控件栏的外形,没有实际操作功能,目的是让大家学会怎样向ToolBox中添加控件和在ToolBox中对控件进行布局。

2.示例实现

头文件toolbox.h(文中的粗体为需要添加的内容):
#ifndef TOOLBOX_H
#define TOOLBOX_H
#include <QToolBox>
#include <QToolButton>
class toolbox : public QToolBox
{
 Q_OBJECT
public:
 explicit toolbox(QWidget *parent = 0);


 QToolButton *toolButton1_1; //声明多个QToolButton类对象
 QToolButton *toolButton1_2;
 QToolButton *toolButton1_3;
 QToolButton *toolButton1_4;
 QToolButton *toolButton2_1;
 QToolButton *toolButton2_2;
 QToolButton *toolButton3_1;
 QToolButton *toolButton3_2;
 QToolButton *toolButton3_3;
 QToolButton *toolButton3_4;
signals:
public slots:
};
#endif // TOOLBOX_H

在头文件中声明多个ToolButton控件。

在类实现文件toolbox.cpp中自动生成如下代码:
#include "toolbox.h"
toolbox::toolbox(QWidget *parent) :
 QToolBox(parent)
{
}

在主窗体toolbox.cpp文件中添加的头文件:
#include <QGroupBox>
#include <QVBoxLayout>
#include <QPushButton>

在主窗体toolbox.cpp文件中构造函数:
/***构造函数***/
toolbox::toolbox(QWidget *parent) :
 QToolBox(parent)
{
  /************定义QGroupBox************/
  QGroupBox *groupBox1 = new QGroupBox;
  QGroupBox*groupBox2 = new QGroupBox();
  QGroupBox*groupBox3 = new QGroupBox();

  /************Layout的QToolButton************/
  this->toolButton1_1 = new QToolButton;
  this->toolButton1_1->setText(tr("Vertical Layout"));
  this->toolButton1_1->setAutoRaise(true);
  this->toolButton1_2 = new QToolButton;
  this->toolButton1_2->setText(tr("Horizontal Layout"));
  this->toolButton1_2->setAutoRaise(true);
  this->toolButton1_3 = new QToolButton;
  this->toolButton1_3->setText(tr("Grid Layout"));
  this->toolButton1_3->setAutoRaise(true);
  this->toolButton1_4 = new QToolButton;
  this->toolButton1_4->setText(tr("Form Layout"));
  this->toolButton1_4->setAutoRaise(true);

  /*************Spacers的ToolButton***************/
  this->toolButton2_1 = new QToolButton;


  this->toolButton2_1->setText(tr("Horizontal Spacer"));
  this->toolButton2_1->setAutoRaise(true);
  this->toolButton2_2 = new QToolButton;
  this->toolButton2_2->setText(tr("Vertical Spacer"));
  this->toolButton2_2->setAutoRaise(true);

  /************Buttons*************************/
  this->toolButton3_1 = new QToolButton;
  this->toolButton3_1->setText(tr("Push Button"));
  this->toolButton3_1->setAutoRaise(true);
  this->toolButton3_2 = new QToolButton;
  this->toolButton3_2->setText(tr("Tool Button"));
  this->toolButton3_2->setAutoRaise(true);
  this->toolButton3_3 = new QToolButton;
  this->toolButton3_3->setText(tr("Radio Button"));
  this->toolButton3_3->setAutoRaise(true);
  this->toolButton3_4 = new QToolButton;
  this->toolButton3_4->setText(tr("Check Box"));
  this->toolButton3_4->setAutoRaise(true);

  /************给Layout布局*************************/
  QVBoxLayout*layout1 = new QVBoxLayout(groupBox1);
  layout1->setMargin(10);
  layout1->setAlignment(QT::AlignLeft);
  layout1->addWidget(toolButton1_1);
  layout1->addWidget(toolButton1_2);
  layout1->addWidget(toolButton1_3);
  layout1->addWidget(toolButton1_4);
  layout1->addStretch();

  /************给Spacers布局*************************/
  QVBoxLayout*layout2 = new QVBoxLayout(groupBox2);
  layout2->setMargin(10);
  layout2->setAlignment(QT::AlignLeft);
  layout2->addWidget(toolButton2_1);
  layout2->addWidget(toolButton2_2);
  layout2->addStretch();

  /************给Buttons布局*************************/
  QVBoxLayout*layout3 = new QVBoxLayout(groupBox3);
  layout3->setMargin(10);
  layout3->setAlignment(QT::AlignLeft);
  layout3->addWidget(toolButton3_1);
  layout3->addWidget(toolButton3_2);
  layout3->addWidget(toolButton3_3);
  layout3->addWidget(toolButton3_4);
  addItem(groupBox1, tr("Layouts"));
  addItem(groupBox2, tr("Spacers"));
  addItem(groupBox3, tr("Buttons"));
}

主文件main.cpp:
#include <QTGui/QApplication>
#include "toolbox.h"
int main(int argc, char *argv[])


{
 QApplication a(argc, argv);
 toolbox w;
 w.show();
 return a.exec();
}

示例执行结果如图3-50所示。


 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站