第一:QT控件基本简介
老子曾说:“天下难事,必做于易;天下大事,必做于细”。再复杂的项目,都是有一个个小小的部分组成。QT的窗口部件,其中每种窗口部件都选取一个作为例子讲解它们的用法。
在 Qt 里,最常用使用的控件就是按钮了,有了按钮,我们就可以点击,从而响应事件,达 到人机交互的效果。不管是嵌入式或者 PC 端,界面交互,少不了按钮。
第二:QPushButton使用方法
利用窗口换肤,通过单击不同的按钮,改变窗口的颜色。如何完成一个项目,在头文件“mainwindow.h”具体代码如下:
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> /* 引入 QPushButton 类 */ #include <QPushButton> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private: /* 声明一个 QPushButton 对象 pushButton1 */ QPushButton *pushButton1; /* 声明一个 QPushButton 对象 pushButton2 */ QPushButton *pushButton2; private slots: /* 声明对象 pushButton1 的槽函数 */ void pushButton1_Clicked(); /* 声明对象 pushButton2 的槽函数 */ void pushButton2_Clicked(); }; #endif // MAINWINDOW_H
第三:QTableWidget简介
QTableWidget 继承 QTableView。QTableWidget 类提供了一个带有默认模型的基于项的表视 图。
本示例使用一个TableWidget,绘制一个表格,同时修改项的标题,在表格里可以直接通过双击进行编辑项里的内容,也可以删除项里面的内容。
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QTableWidget> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private: /* QTabelWidget 表格 */ QTableWidget *tableWidget; /* QTabelWidgetItem 表格数据(项) */ QTableWidgetItem *tableWidgetItem[4]; }; #endif // MAINWINDOW_H
在源文件"mainwindow.cpp"具体代码如下:
#include "mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { /* 设置主窗体的大小与位置 */ this->setGeometry(0, 0, 800, 480); /* 实例化 */ tableWidget = new QTableWidget(this); /* 设置 tableWidget 表居中 */ setCentralWidget(tableWidget); /* 设置列数 */ tableWidget->setColumnCount(2); /* 设置行数 */ tableWidget->setRowCount(2); /* 使用标签设置水平标题标签 */ tableWidget->setHorizontalHeaderLabels( QStringList()<<"姓名"<<"性别"); /* 字符串类型链表 */ QList <QString> strList; strList<<"小明"<<"小红"<<"男"<<"女"; for (int i = 0; i < 4; i++) { /* 实例化 */ tableWidgetItem[i] = new QTableWidgetItem(strList[i]); /* 设置文本居中对齐 */ tableWidgetItem[i]->setTextAlignment(Qt::AlignCenter); } /* 插入数据,表的 index 就是一个二维数组数据 */ tableWidget->setItem(0, 0, tableWidgetItem[0]); tableWidget->setItem(1, 0, tableWidgetItem[1]); tableWidget->setItem(0, 1, tableWidgetItem[2]); tableWidget->setItem(1, 1, tableWidgetItem[3]); } MainWindow::~MainWindow() { }
第四:最终运行效果
程序编译运行的结果如下。双击表格中的项,可修改表格的内容,同时也可以删除内容等。