当前位置: 首页 > news >正文

网站静态路径家装公司利润一般多少

网站静态路径,家装公司利润一般多少,杭州四喜做网站建设么,个人网站要怎么备案QT6QTableWidget QTableWidget是一种Item Widget组件,它以表格形式和管理数据,表格的每个单元格关联一个QTableWidgetItem对象,可以设置每个单元格的文字内容、字体、文字颜色、背景色、图标等,还可以有复选框。每个单元格还可以存…

QT6


QTableWidget

QTableWidget是一种Item Widget组件,它以表格形式和管理数据,表格的每个单元格关联一个QTableWidgetItem对象,可以设置每个单元格的文字内容、字体、文字颜色、背景色、图标等,还可以有复选框。每个单元格还可以存储用户数据

常用属性和方法

Qt6中QTableWidget常用属性和方法

行列操作

类别属性/方法说明
setRowCount(int rows)设置表格的行数
setColumnCount(int columns)设置表格的列数
rowCount() const获取当前行数
columnCount() const获取当前列数
insertRow(int row)在指定位置插入新行
insertColumn(int column)在指定位置插入新列
removeRow(int row)移除指定行
removeColumn(int column)移除指定列

表头设置

属性/方法说明
setHorizontalHeaderLabels(const QStringList &labels)设置水平表头的标签文本
setVerticalHeaderLabels(const QStringList &labels)设置垂直表头的标签文本
horizontalHeader() const获取水平表头对象
verticalHeader() const获取垂直表头对象
setHorizontalHeaderItem(int column, QTableWidgetItem *item)设置水平表头项目
setVerticalHeaderItem(int row, QTableWidgetItem *item)设置垂直表头项目

单元格操作

属性/方法说明
setItem(int row, int column, QTableWidgetItem *item)在指定位置设置单元格项目
item(int row, int column) const获取指定位置的单元格项目
takeItem(int row, int column)移除并返回指定位置的单元格项目
setCellWidget(int row, int column, QWidget *widget)在指定单元格中放置控件
cellWidget(int row, int column) const获取指定单元格中的控件
setCurrentCell(int row, int column)设置当前选中的单元格
currentRow() const获取当前选中行的索引
currentColumn() const获取当前选中列的索引
selectedItems() const获取所有选中的项目列表
selectedRanges() const获取所有选中的范围列表

外观与行为

属性/方法说明
setEditTriggers(QAbstractItemView::EditTriggers triggers)设置单元格编辑触发条件
setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior)设置选择行为
setSelectionMode(QAbstractItemView::SelectionMode mode)设置选择模式
setShowGrid(bool show)设置是否显示网格线
setGridStyle(Qt::PenStyle style)设置网格线样式
setSpan(int row, int column, int rowSpan, int columnSpan)合并单元格
setAlternatingRowColors(bool enable)设置是否交替行颜色
setSortingEnabled(bool enable)设置是否启用排序
sortByColumn(int column, Qt::SortOrder order)按指定列排序

布局调整

属性/方法说明
resizeColumnsToContents()调整列宽以适应内容
resizeRowsToContents()调整行高以适应内容
horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeMode mode)设置水平表头的列宽调整模式
verticalHeader()->setSectionResizeMode(QHeaderView::ResizeMode mode)设置垂直表头的行高调整模式
setColumnWidth(int column, int width)设置指定列的宽度
setRowHeight(int row, int height)设置指定行的高度

信号

属性/方法说明
cellClicked(int row, int column)单元格被点击时触发
cellDoubleClicked(int row, int column)单元格被双击时触发
cellChanged(int row, int column)单元格内容变化时触发
cellActivated(int row, int column)单元格被激活时触发
cellEntered(int row, int column)鼠标进入单元格时触发
cellPressed(int row, int column)单元格被按下时触发
currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)当前单元格变化时触发

样式设置

属性/方法说明
setStyleSheet(const QString &styleSheet)设置样式表
setFrameShape(QFrame::Shape shape)设置外边框形状
setFrameShadow(QFrame::Shadow shadow)设置外边框阴影效果
setLineWidth(int width)设置线宽
setMidLineWidth(int width)设置中线宽度

代码测试

#include "mainwindow.h"
#include "./ui_mainwindow.h"
#include <QDebug>
#include <QString>
#include <QTableWidgetItem>
#include <QRandomGenerator>
#include <QDate>
#include <QVariant>
#include <QTableWidget>
#include <QLabel>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);ui->tableWidget->setShowGrid(false);labCellIndex = new QLabel("当前单元坐标:",this);labCellIndex->setMinimumWidth(240);labCellType = new QLabel("当前单元格类型:",this);labCellType->setMinimumWidth(200);labStudId = new QLabel("当前学生ID:");labStudId->setMinimumWidth(200);ui->statusBar->addWidget(labCellIndex);ui->statusBar->addWidget(labCellType);ui->statusBar->addPermanentWidget(labStudId);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_btnSetHeader_clicked()
{QStringList headText;headText << "姓名"<<"性别"<<"出生时间"<<"民族"<<"分数"<<"是否党员";ui->tableWidget->setColumnCount(headText.count());// ui->tableWidget->setHorizontalHeaderItem(headText)for(int i = 0; i < ui->tableWidget->columnCount() ; i++){QTableWidgetItem* headItem = new QTableWidgetItem(headText.at(i));QFont font = headItem->font();font.setBold(true);font.setPointSize(11);headItem->setFont(font);headItem->setForeground(QBrush(Qt::red));ui->tableWidget->setHorizontalHeaderItem(i,headItem);}
}void MainWindow::on_btnSetLine_clicked()
{ui->tableWidget->setRowCount(ui->spinBox->value());
}void MainWindow::on_btnInitTable_clicked()
{ui->tableWidget->clearContents();QDate birth(2000,2,2);for(int i = 0 ; i < ui->tableWidget->rowCount() ; i++){QString strName = QString("学生%1").arg(i);QString strSex = (i%2)?"男生":"女生";bool isParty = (i%2)?false:true;// 生成60-100之间的分数int score = QRandomGenerator::global()->bounded(60,101);createItemsARos(i,strName,strSex,birth,"汉族",isParty,score);birth = birth.addDays(1);}
}void MainWindow::createItemsARos(int rowNo, QString name, QString sex, QDate birth, QString nation, bool isPm, int score)
{uint studID = 20221000;QTableWidgetItem* item = new QTableWidgetItem(name,ctName);item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);studID += rowNo;item->setData(Qt::UserRole,QVariant(studID));ui->tableWidget->setItem(rowNo,colName,item);QIcon icon(":/icon/C:/Users/BananaLi/Desktop/QT相关/图标/煎蛋.png");QIcon icon2(":/icon/C:/Users/BananaLi/Desktop/QT相关/图标/牛奶.png");item = new QTableWidgetItem(sex,ctSex);item->setIcon(sex=="男生"?icon:icon2);item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);ui->tableWidget->setItem(rowNo,colSex,item);item = new QTableWidgetItem(birth.toString("yyyy-MM-dd"),ctBirth);item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);ui->tableWidget->setItem(rowNo,colBirth,item);item = new QTableWidgetItem(nation,ctNation);item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);ui->tableWidget->setItem(rowNo,ColNation,item);item = new QTableWidgetItem("党员",ctPartyM);item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled|Qt::ItemIsUserCheckable);item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);item->setCheckState(isPm?Qt::Checked:Qt::Unchecked);item->setBackground(QBrush(Qt::yellow));ui->tableWidget->setItem(rowNo,ColPartyM,item);item = new QTableWidgetItem(QString::number(score),ctScore);item->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);ui->tableWidget->setItem(rowNo,ColScore,item);}void MainWindow::on_btnInsertLine_clicked()
{// 获取当前行int curRow = ui->tableWidget->currentRow();ui->tableWidget->insertRow(curRow);createItemsARos(curRow,"新学生","男生",QDate::fromString("2025-1-1","yyyy-M-d"),"汉族",false,79);
}void MainWindow::on_btnAddLine_clicked()
{// 获行数int curRow = ui->tableWidget->rowCount();ui->tableWidget->insertRow(curRow);createItemsARos(curRow,"老同学","女生",QDate::fromString("2025-2-2","yyyy-M-d"),"汉族",true,80);
}void MainWindow::on_btnDelLine_clicked()
{int curRow = ui->tableWidget->currentRow();ui->tableWidget->removeRow(curRow);}void MainWindow::on_btnAutoLineH_clicked()
{ui->tableWidget->resizeRowsToContents();
}void MainWindow::on_btnAutoLineW_clicked()
{ui->tableWidget->resizeColumnsToContents();
}void MainWindow::on_btnRideToEdit_clicked()
{QTableWidgetItem* item = new QTableWidgetItem();ui->plainTextEdit->clear();for(int i = 0; i< ui->tableWidget->rowCount();i++){QString str = QString::asprintf("第%d行",i+1);for(int j = 0;j < ui->tableWidget->columnCount()-1;j++){item = ui->tableWidget->item(i,j);str+=item->text()+" ";}item = ui->tableWidget->item(i,ColPartyM);if(item->checkState() == Qt::Checked){str+="党员";}else{str+="群众";}ui->plainTextEdit->appendPlainText(str);}}void MainWindow::on_checkBoxEditable_clicked(bool checked)
{if(checked){ui->tableWidget->setEditTriggers(QAbstractItemView::DoubleClicked|QAbstractItemView::SelectedClicked);}else{ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);}
}void MainWindow::on_checkBoxLowColor_clicked(bool checked)
{ui->tableWidget->setAlternatingRowColors(checked);
}void MainWindow::on_checkBoxDisplayHeader_clicked(bool checked)
{ui->tableWidget->horizontalHeader()->setVisible(checked);
}void MainWindow::on_checkBoxDisplayVertical_clicked(bool checked)
{ui->tableWidget->verticalHeader()->setVisible(checked);
}void MainWindow::on_radioButtonSelectLine_clicked()
{ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
}void MainWindow::on_radioButtonSelectCell_clicked()
{ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems);
}void MainWindow::on_tableWidget_currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)
{Q_UNUSED(previousRow);Q_UNUSED(previousColumn);QTableWidgetItem* item = ui->tableWidget->item(currentRow,currentColumn);if(item == nullptr) return;labCellIndex->setText(QString::asprintf("当前单元格坐标:%d,%d",currentRow,currentColumn));labCellType->setText(QString::asprintf("当前单元格类型:%d",item->type()));item = ui->tableWidget->item(currentRow,colName);labStudId->setText(QString::asprintf("学生ID:%d",item->data(Qt::UserRole).toUInt()));
}

效果展示

在这里插入图片描述

http://www.dtcms.com/a/595228.html

相关文章:

  • 企业网站变成app的方法打开网站说建设中是什么问题
  • 网站建设设计要点西宁网站建设推广
  • 企业服务平台网站建设网站建设课的感想
  • 网站建设晋丰网站没有做404页面
  • 企业门户定制网站建设公司权威的广州h5网站
  • 青海省建设网站企业中文域名注册费用标准
  • 做相同网站违法吗软件开发的学校有哪些
  • 常用的网站开发工具建网站电话
  • 制作响应式网站营销型网站制作建设
  • 做国外网站的公证要多少钱北京金方网站设计
  • 北京响应式的网站设计怎么查网站的关键词排名
  • 网站建设公司运营全屏的网站
  • 怎么开发手机网站长春关键词排名优化
  • 如何做好网站需求分析用dw建设网站
  • wordpress手机不能显示字体大小十堰网站seo技巧
  • 广西柳州网站建设价格泰国购物网站大全
  • AI提示词学习基础(一)
  • 可做实名认证的网站湖南张家界建设厅网站
  • 《中医基础理论》- 2.哲学基础之五行学说
  • 毕设做网站怎么样wordpress微信付款后查看
  • 建站宝盒下载网站开发工具概述与比较
  • 苏州网站网络推广首页调用网站栏目id
  • 九洲建设集团网站做包子网站
  • 临沂市平邑县建设局网站东海县网站建设
  • 网站建设好后如何连接服务器照片生成视频制作软件
  • 岳阳网站建设一站式服务wordpress 主题制作 视频
  • 西安网站开发工程师招聘网站建设 验证码
  • 什么行业要做网站建设推广这些做这个网站多少钱
  • 怎么确定网站的关键词wordpress安装tomcat
  • 建立网站教学的网站建设所需软件