qt设置tablewidget颜色、添加选择框、添加按钮和进度条

2023-12-18 22:50

本文主要是介绍qt设置tablewidget颜色、添加选择框、添加按钮和进度条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

添加选择框
在代码中设置tablewidget的样式表

    setStyleSheet("QTableWidget{ color:black; \background-color:rgb(224,224,224);\selection-color:rgb(0, 0, 0); \selection-background-color:rgb(	100,149,237);\border:0px;\font: 8pt 'Microsoft YaHei' ;}""QHeaderView::section:horizontal{ 	/*设置标题(水平的)*/\border: 1px solid rgb(255, 255, 255); 	/*白色间隔*/\border - bottom: 0px;/*下边框不需要颜色*/\color: rgb(2, 65, 132);\background: rgb(	100,149,237);\padding - left: 2px;\min - width:60px;}");

设置表格,添加选择框

//设置列数ui->tableWidget->setColumnCount(3);//设置行数ui->tableWidget->setRowCount(3);//设置整行选中ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);//表头标题QStringList headerText;headerText<<"序  号"<<"名  称"<<"选  择";ui->tableWidget->setHorizontalHeaderLabels(headerText);//设置列宽ui->tableWidget->setColumnWidth(0,ui->tableWidget->width()/3);ui->tableWidget->setColumnWidth(1,ui->tableWidget->width()/3);ui->tableWidget->setColumnWidth(2,ui->tableWidget->width()/3);//去除垂直表头ui->tableWidget->verticalHeader()->setVisible(false);//去除选中虚线框ui->tableWidget->setFocusPolicy(Qt::NoFocus);//禁止编辑ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//添加项for (int i=0; i<3; i++) {ui->tableWidget->setItem(i,0,new QTableWidgetItem(QString::number(i+1)));ui->tableWidget->setItem(i,1,new QTableWidgetItem("aaa"));//添加选择框QTableWidgetItem *check = new QTableWidgetItem();check->setCheckState(Qt::Unchecked);ui->tableWidget->setItem(i, 2, check);//元素居中ui->tableWidget->item(i,0)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);ui->tableWidget->item(i,1)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);ui->tableWidget->item(i,2)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);}

cellClicked事件响应,当点击表格项,对复选框进行选中和取消选择

void MainWindow::on_tableWidget_cellClicked(int row, int column)
{//判断选择状态if(ui->tableWidget->item(row,2)->checkState() == Qt::Checked){//设置选择状态ui->tableWidget->item(row,2)->setCheckState(Qt::Unchecked);}else{ui->tableWidget->item(row,2)->setCheckState(Qt::Checked);}}

在这里插入图片描述
添加进度条和按钮
设置表格

//设置列数ui->tableWidget->setColumnCount(3);//设置行数ui->tableWidget->setRowCount(2);//设置整行选中ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);//表头标题QStringList headerText;headerText<<"序  号"<<"按  钮"<<"进度条";ui->tableWidget->setHorizontalHeaderLabels(headerText);//设置列宽ui->tableWidget->setColumnWidth(0,ui->tableWidget->width()/3);ui->tableWidget->setColumnWidth(1,ui->tableWidget->width()/3);ui->tableWidget->setColumnWidth(2,ui->tableWidget->width()/3);//去除水平表头ui->tableWidget->verticalHeader()->setVisible(false);//去除选中虚线框ui->tableWidget->setFocusPolicy(Qt::NoFocus);//禁止编辑ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);//添加控件QPushButton *button0 = new QPushButton("按钮0");QPushButton *button1 = new QPushButton("按钮1");m_pProgress0 = new QProgressBar();m_pProgress1 = new QProgressBar();ui->tableWidget->setCellWidget(0,1,button0);ui->tableWidget->setCellWidget(0,2,m_pProgress0);ui->tableWidget->setCellWidget(1,1,button1);ui->tableWidget->setCellWidget(1,2,m_pProgress1);//添加项for (int i=0; i<2; i++) {ui->tableWidget->setItem(i,0,new QTableWidgetItem(QString::number(i+1)));//元素居中ui->tableWidget->item(i,0)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);}

建立按钮和处理函数的信号槽连接,让按钮点击,进度条移动

    //建立信号槽连接connect(button0,SIGNAL(clicked()),this,SLOT(progress0()));connect(button1,SIGNAL(clicked()),this,SLOT(progress1()));

槽函数和进度条控件

private slots:void progress0();void progress1();
private:Ui::MainWindow *ui;QProgressBar *m_pProgress0;QProgressBar *m_pProgress1;

void MainWindow::progress0(){m_pProgress0->setValue(m_pProgress0->value()+10);
}
void MainWindow::progress1(){m_pProgress1->setValue(m_pProgress1->value()+10);
}

在这里插入图片描述
项目下载
https://download.csdn.net/download/m0_60352504/87582612

这篇关于qt设置tablewidget颜色、添加选择框、添加按钮和进度条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/510038

相关文章

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

《数据结构(C语言版)第二版》第八章-排序(8.3-交换排序、8.4-选择排序)

8.3 交换排序 8.3.1 冒泡排序 【算法特点】 (1) 稳定排序。 (2) 可用于链式存储结构。 (3) 移动记录次数较多,算法平均时间性能比直接插入排序差。当初始记录无序,n较大时, 此算法不宜采用。 #include <stdio.h>#include <stdlib.h>#define MAXSIZE 26typedef int KeyType;typedef char In

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给

【QT】基础入门学习

文章目录 浅析Qt应用程序的主函数使用qDebug()函数常用快捷键Qt 编码风格信号槽连接模型实现方案 信号和槽的工作机制Qt对象树机制 浅析Qt应用程序的主函数 #include "mywindow.h"#include <QApplication>// 程序的入口int main(int argc, char *argv[]){// argc是命令行参数个数,argv是