linux系统中QT控件的操作的基本方法

简介: linux系统中QT控件的操作的基本方法

         

 

第一: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()
 {
 }

第四:最终运行效果

程序编译运行的结果如下。双击表格中的项,可修改表格的内容,同时也可以删除内容等。

     

目录
相关文章
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
1220 3
Linux系统禁用swap
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1813 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
1281 3
Linux系统初始化脚本
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
852 18
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2826 10
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
1372 1
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1638 1
|
Linux
Linux查看操作系统版命令
Linux查看操作系统版命令
415 0
|
Shell Linux C语言
Linux初学者必备:全面掌握核心命令
Linux命令是操作系统的核心组成部分,用于管理和操作文件系统、网络、硬件资源以及执行各种任务。下面列出了一些常用的Linux命令及其基本用途,
610 1
Linux初学者必备:全面掌握核心命令
|
Linux Shell 程序员
【Linux操作系统】命令的运行原理
【Linux操作系统】命令的运行原理
360 0