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

QTableWidget是常用的显示数据表格的控件,类似于VC、C#中的DataGrid。QTableWidget是QTableView的子类,两者的区别是,QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并且其单元格数据是由QTableWidgetItem的对 图3-42 示例8界面象来实现的(也就是不需要数据源,将逐个单元格内的信息填好即可)。

首先创建标准的Qt Gui Application项目,把项目在主界面中自动生成的toolBar、menuBar和statusBar删除,设计界面如图3-42所示。

1.控件说明

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


 

2.示例说明

本示例具体介绍怎样向tableWidget中添加文本和控件。

3.示例实现

头文件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;
};
#endif // MAINWINDOW_H

头文件采用Qt Creator自动生成的即可,不需要任何更改。

在主窗体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 <QLabel>
#include <QDateTimeEdit>
#include <QComboBox>
#include <QSpinBox>

在主窗体mainwindow.cpp文件中构造函数:

/***构造函数***/
MainWindow::MainWindow(QWidget *parent) :
 QMainWindow(parent),
 ui(new Ui::MainWindow)
{
 ui->setupUi(this);

 /***************添加QLabel********************************************/
 QLabel *label = new QLabel();
 label->setText("Jhon");
 ui->tableWidget->setCellWidget(1,0,label);

 /**************添加QComboBox*****************************************/
 QComboBox *ComboBoxSex = new QComboBox();
 ComboBoxSex->addItem("Man");
 ComboBoxSex->addItem("Woman");
 ui->tableWidget->setCellWidget(1,1,ComboBoxSex);

 /**************添加QDateTimeEdit***************************************/
 QDateTimeEdit *dateTimeEdit1 = new QDateTimeEdit();
 dateTimeEdit1->setDateTime(QDateTime::currentDateTime());
 dateTimeEdit1->setDisplayFormat("dd/MM/yyyy");
 dateTimeEdit1->setCalendarPopup(true);
 ui->tableWidget->setCellWidget(1,2,dateTimeEdit1);

 

 /**************添加QComboBox*****************************************/
 QComboBox *ComboBoxWork1 = new QComboBox();
 ComboBoxWork1->addItem(tr("Worker"));
 ComboBoxWork1->addItem(tr("Farmer"));
 ComboBoxWork1->addItem(tr("Doctor"));
 ComboBoxWork1->addItem(tr("Lawyer"));
 ComboBoxWork1->addItem(tr("Solder"));
 ui->tableWidget->setCellWidget(1,3,ComboBoxWork1);

 /****************添加QSpinBox****************************************/
 QSpinBox *spinboxIncome1 = new QSpinBox();
 spinboxIncome1->setRange(1000,10000);
 ui->tableWidget->setCellWidget(1,4,spinboxIncome1);
}

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

4.示例执行结果

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


 

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

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