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

ToolButton经常与ToolBar一起使用,首先建立标准的Qt Gui Application项目。Qt Gui Application项目会自动生成一个ToolBar,控件名称是mainToolBar。在这个示例中,由于用不到menuBar和statusBar,因此把项目自动生成的menuBar和statusBar删除。另外,我们还用到了一个TextEdit控件,设计界面如图3-17所示。

1.控件说明

在属性编辑窗口中对控件的属性进行修改,修改内容如表3-4所示。


 

2.示例说明

在ToolBar中添加三个ToolButton,功能分别如下:

?单击工具按钮buttonNew,文本编辑框textEdit显示“New”;

?单击工具按钮buttonOpen,文本编辑框textEdit显示“Open”;

?单击工具按钮buttonSave,文本编辑框textEdit显示“Save”。

3.示例实现

由于Qt Creator的ToolBar不支持直接拖拽控件,因此我们不能通过拖曳方式在ToolBar中添加ToolButton。在本示例用到的三个ToolButton都是自定义的。详细代码实现如下。

头文件mainwindow.h(文中的粗体为需要添加的内容):
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
 class MainWindow;
}
class MainWindow : public QMainWindow
{
 Q_OBJECT
public:
 explicit MainWindow(QWidget *parent = 0);
 ~MainWindow();
private:
 Ui::MainWindow *ui;
private slots: //自定义槽函数
 void slotNew();
 void slotOpen();
 void slotSave();
};
#endif // MAINWINDOW_H

在主窗体mainwindow.cpp文件中自动生成如下代码:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
 QMainWindow(parent),
 ui(new Ui::MainWindow)
{
 ui->setupUi(this);
}
MainWindow::~MainWindow()
{
 delete ui;
}

在主窗体mainwindow.cpp文件中添加的头文件:
#include <QToolButton>
在主窗体mainwindow.cpp文件中构造函数:
/*************构造函数*********************/
MainWindow::MainWindow(QWidget *parent) :
 QMainWindow(parent),
 ui(new Ui::MainWindow)
{
 ui->setupUi(this);

 /**********定义QToolButton************************/
 QToolButton *buttonNew = new QToolButton;  //定义buttonNew控件


 buttonNew->setText("New");
 QToolButton *buttonOpen= new QToolButton;     //定义buttonOpen控件
 buttonOpen->setText("Open");
 QToolButton *buttonSave = new QToolButton;//定义buttonSave控件
 buttonSave->setText("Save");

 /**********在mainToolBar中添加ToolButton**************/
 ui->mainToolBar->addWidget(buttonNew);
 ui->mainToolBar->addWidget(buttonOpen);
 ui->mainToolBar->addWidget(buttonSave);

 /**********信号和槽的映射*******************************/
 connect(buttonNew,SIGNAL(clicked()),this,SLOT(slotNew()));
 connect(buttonOpen,SIGNAL(clicked()),this,SLOT(slotOpen()));
 connect(buttonSave,SIGNAL(clicked()),this,SLOT(slotSave()));
}

在主窗体mainwindow.cpp文件中添加槽函数slotNew():
/***槽函数:设置textEdit显示“New”***/
void MainWindow::slotNew()
{
 ui->textEdit->setText("New");           //设置textEdit显示"New"
}

在主窗体mainwindow.cpp文件中添加槽函数slotOpen():
/***槽函数:设置textEdit显示“Open”***/
void MainWindow::slotOpen()
{
 ui->textEdit->setText("Open");          //设置textEdit显示"Open"
}

在主窗体mainwindow.cpp文件中添加槽函数slotSave():
/***槽函数:设置textEdit显示“Save”***/
void MainWindow::slotSave()
{
 ui->textEdit->setText("Save");          //设置textEdit显示"Save"
}

果主文件main.cpp采用项目自动生成的即可,不需任何更改。

4.示例执行结果

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


 

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

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