Qt自定义委托在QTableView中绘制控件、图片、文字

合集下载

QtableWidget的用法总结

QtableWidget的用法总结

QtableWidget的用法总结QTableWidget的主要特点和用途包括:1. 显示数据:通过设置表头和数据项,可以方便地显示数据。

可以使用setItem方法设置每个单元格的内容,也可以使用setRow或setColumn方法批量设置行或列的内容。

3. 排序和过滤:可以通过sortByColumn方法和setSortingEnabled 属性来设置表格的排序方式,默认情况下,表格是可排序的。

可以使用setFilterRegExp方法和setFilterKeyColumn方法来实现表格的过滤功能。

4. 选择和选中:可以通过setSelectionMode方法来设置表格的选择方式,默认情况下,可以选择单行或单列。

可以使用selectedItems方法获取当前选中的单元格。

5. 高级功能:QTableWidget还提供了很多高级功能,包括合并单元格,拖放操作,剪贴板操作,自定义样式,自定义委托等。

可以通过继承QTableWidget类来实现自定义的表格功能。

接下来,我们将对QTableWidget的常用功能进行详细介绍和示例。

1. 创建QTableWidget可以使用以下代码来创建一个简单的QTableWidget:"""import sysfrom PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidget, QTableWidgetItemclass MyWindow(QMainWindow):def __init__(self):super(.__init__self.initUIdef initUI(self):self.tableWidget = QTableWidget(self)self.tableWidget.setRowCount(5)self.tableWidget.setColumnCount(3)self.setCentralWidget(self.tableWidget)self.showapp = QApplication(sys.argv)window = MyWindowsys.exit(app.exec_()"""2.设置表头可以使用setHorizontalHeaderLabels和setVerticalHeaderLabels 方法来设置表头:"""self.tableWidget.setHorizontalHeaderLabels(['姓名', '年龄','性别'])self.tableWidget.setVerticalHeaderLabels(['1', '2', '3', '4', '5'])"""3.设置单元格内容可以使用setItem方法来设置每个单元格的内容:"""item = QTableWidgetItem('李四')self.tableWidget.setItem(0, 0, item)"""4.获取单元格内容可以使用item方法来获取每个单元格的内容:"""item = self.tableWidget.item(0, 0)print(item.text()""""""self.tableWidget.setEditTriggers(QTableWidget.AnyKeyPressed ,QTableWidget.EditKeyPressed , QTableWidget.DoubleClicked) """6.排序和过滤可以使用sortByColumn方法和setSortingEnabled属性来设置表格的排序方式:"""self.tableWidget.setSortingEnabled(True)self.tableWidget.sortByColumn(1, QtCore.Qt.AscendingOrder)"""可以使用setFilterRegExp方法和setFilterKeyColumn方法来实现表格的过滤功能:"""filter_str = '李'self.tableWidget.setFilterRegExp(QtCore.QRegExp(filter_str, QtCore.Qt.CaseInsensitive))self.tableWidget.setFilterKeyColumn(0)"""7.选择和选中可以使用setSelectionMode方法来设置表格的选择方式,默认情况下,可以选择单行或单列:"""self.tableWidget.setSelectionMode(QTableWidget.SingleSelecti on)self.tableWidget.setSelectionBehavior(QTableWidget.SelectRow s)"""可以使用selectedItems方法获取当前选中的单元格:"""selected_items = self.tableWidget.selectedItemsfor item in selected_items:print(item.text()"""8.高级功能合并单元格:"""self.tableWidget.setSpan(0, 0, 2, 2)"""拖放操作:"""self.tableWidget.setDragDropMode(QTableWidget.DragDrop)self.tableWidget.setAcceptDrops(True)"""剪贴板操作:"""self.tableWidget.setContextMenuPolicy(QtCore.Qt.ActionsConte xtMenu)copy_action = QtGui.QAction('拷贝', self)copy_action.triggered.connect(self.copy)self.addAction(copy_action)"""自定义样式:"""self.tableWidget.setStyleSheet("QTableWidget{background-color: yellow}")"""自定义委托:"""self.tableWidget.setItemDelegate(MyDelegate() """。

delegate qsyleitemdelegateqt 例子

delegate qsyleitemdelegateqt 例子

delegate qsyleitemdelegateqt 例子QStyledItemDelegate是Qt 框架中的一个类,用于自定义表格视图(如QTableView)的单元格的渲染和编辑。

它提供了一种灵活的方式来定制单元格的外观和行为。

下面是一个简单的例子,展示了如何使用QStyledItemDelegate来定制QTableView中的单元格样式:1.创建项目:首先,创建一个新的Qt Widgets Application 项目。

2.定义模型:为了在QTableView中显示数据,你需要一个模型。

这里我们使用QStandardItemModel。

3.创建委托:创建一个继承自QStyledItemDelegate的类,并重写paint()方法来定制单元格的外观。

4.设置委托:将创建的委托实例设置到QTableView的某个列上。

以下是一个简化的代码示例:mainwindow.hcpp#ifndef MAINWINDOW_H#define MAINWINDOW_H#include<QMainWindow>#include<QStyledItemDelegate>#include<QStandardItemModel>class MyDelegate : public QStyledItemDelegate {public:MyDelegate(QObject *parent = nullptr) :QStyledItemDelegate(parent) {}void paint(QPainter *painter, const QStyleOptionViewItem&option, const QModelIndex &index)const override;};class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);void setupModelAndView();};#endif// MAINWINDOW_Hmainwindow.cppcpp#include"mainwindow.h"#include<QApplication>#include<QTableView>#include<QVBoxLayout>void MyDelegate::paint(QPainter *painter, constQStyleOptionViewItem &option, const QModelIndex &index)const { // 自定义绘制逻辑,例如设置文本颜色、背景色等}MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { QWidget *centralWidget = new QWidget;setCentralWidget(centralWidget);QVBoxLayout *layout = new QVBoxLayout(centralWidget);QStandardItemModel *model = new QStandardItemModel();QTableView *tableView = new QTableView;layout->addWidget(tableView);setupModelAndView();}void MainWindow::setupModelAndView() {// 填充模型数据QStandardItemModel *model = new QStandardItemModel();QTableView *tableView = new QTableView;tableView->setModel(model);// 设置委托到某个列上,例如第一列(列索引从0开始)MyDelegate *delegate = new MyDelegate(tableView);tableView->setItemDelegateForColumn(0, delegate);}在这个例子中,我们创建了一个自定义的委托类MyDelegate,并重写了paint()方法来定制单元格的外观。

Qt中QTableWidget用法总结

Qt中QTableWidget用法总结

Qt中QTableWidget用法总结一、创建QTableWidget要创建一个QTableWidget,首先需要在Qt项目中添加表格控件的头文件:#include <QTableWidget>然后通过创建一个QTableWidget类的实例来生成一个表格:QTableWidget *tableWidget = new QTableWidget(;二、设置表格属性可以通过以下几种方式来设置表格的属性:1.设置表格的行数和列数:tableWidget->setRowCount(5);tableWidget->setColumnCount(3);tableWidget->setHorizontalHeaderLabels(QStringList( << "Name" << "Age" << "Gender");3.设置单元格的属性:tableWidget->setItem(row, column, item):设置特定单元格的内容。

tableWidget->item(row, column)->setTextAlignment(Qt::AlignCenter):设置单元格的对齐方式。

4.设置表格的选择模式:tableWidget->setSelectionMode(QAbstractItemView::SingleSelection):设置为单选模式。

tableWidget->setSelectionMode(QAbstractItemView::ExtendedSelection):设置为多选模式。

三、添加数据可以通过以下几种方式向表格中添加数据:1.直接设置单元格中的文字:tableWidget->setItem(row, column, newQTableWidgetItem("John"));2.设置单元格中的图标:QTableWidgetItem *item = new QTableWidgetItem(;item->setIcon(QIcon("icon.png"));tableWidget->setItem(row, column, item);3.添加整行或整列的数据:tableWidget->setHorizontalHeaderLabels(QStringList( << "Name" << "Age" << "Gender");tableWidget->insertRow(row);tableWidget->setItem(row, 0, new QTableWidgetItem("John"));tableWidget->setItem(row, 1, new QTableWidgetItem("25"));tableWidget->setItem(row, 2, new QTableWidgetItem("Male"));四、信号与槽的连接可以通过以下几种方式连接信号与槽:1.单元格点击事件:connect(tableWidget, &QTableWidget::cellClicked, this,&MainWindow::onCellClicked);2.行选中事件:connect(tableWidget, &QTableWidget::itemSelectionChanged, this, &MainWindow::onSelectionChanged);3.表格数据变化事件:connect(tableWidget, &QTableWidget::itemChanged, this,&MainWindow::onItemChanged);五、其他常用功能1.获取选中的单元格:QList<QTableWidgetItem *> selectedItems = tableWidget->selectedItems(;2.获取单元格中的数据:QString text = tableWidget->item(row, column)->text(;3.设置单元格的背景色:tableWidget->item(row, column)->setBackground(Qt::blue);4.设置选中行的背景色:tableWidget->setStyleSheet("QTableWidget::item:selected{background-color: blue}");5.设置表头的背景色:tableWidget->horizontalHeader(->setStyleSheet("QHeaderView::section{background-color: gray}");六、总结。

pyqt实现在Widgets中显示图片和文字的方法

pyqt实现在Widgets中显示图片和文字的方法

pyqt实现在Widgets中显⽰图⽚和⽂字的⽅法思路⾮常简单:<p>创建window,设置窗⼝⼤⼩,创建label1,导⼊图⽚,创建label2,导⼊⽂字,show,结束!</p> import sysfrom PyQt5 import QtWidgets,QtGui#定义窗⼝函数windowdef window():#我事实上不太明⽩⼲嘛要这⼀句话,只是pyqt窗⼝的建⽴都必须调⽤QApplication⽅法app=QtWidgets.QApplication(sys.argv)#新建⼀个窗⼝,名字叫做ww=QtWidgets.QWidget()#定义w的⼤⼩w.setGeometry(100,100,300,200)#给w⼀个Titlew.setWindowTitle('lesson 2')#在窗⼝w中,新建⼀个lable,名字叫做l1l1=QtWidgets.QLabel(w)#调⽤QtGui.QPixmap⽅法,打开⼀个图⽚,存放在变量png中png=QtGui.QPixmap('/home/capture/Pictures/Selection_026.png')# 在l1⾥⾯,调⽤setPixmap命令,建⽴⼀个图像存放框,并将之前的图像png存放在这个框框⾥。

l1.setPixmap(png)#在窗⼝w中,新建另⼀个label,名字叫做l2l2=QtWidgets.QLabel(w)#⽤open⽅法打开⼀个⽂本⽂件,并且调⽤read命令,将其内容读⼊到file_text中file=open('/home/capture/eric6_test/auto_k2_all/test1.log')file_text=file.read()#调⽤setText命令,在l2中显⽰刚才的内容l2.setText(file_text)#调整l1和l2的位置l1.move(100,20)l2.move(140,120)#显⽰整个窗⼝w.show()#退出整个appapp.exit(app.exec_())#调⽤window这个函数window()不过,这样写的⽬的是什么,弄⼀个函数,来⽣成⼀个图像,没有参数可以输⼊?还不如不⽤函数呢。

Qt自定义委托在QTableView中绘制控件、图片、文字

Qt自定义委托在QTableView中绘制控件、图片、文字
自定义委托,继承于,QStyledItemDelegate 类,重载 Paint()函数, 1、实现在 QTableView 中绘制 格式字符串 2、实现在 QTableView 中绘制进度条 3、实现在 QTableView 中绘制 QCheckBox 4、实现在 QTableView 中绘制星星 5、实现在 QTableView 中绘制 Pixmap 图片
2、实现在 QTableView 中绘制进度条
Cpp 代码
1. //重载绘制函数 2. void DelReconQueue::paint(QPainter *painter, const QStyleOptionViewItem &o ption, 3. 4. { 5. 6. 7. 8. 9. 10. oInt(); 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. //进度条的风格选项 QStyleOptionProgressBarV2 *progressBarOption = new QStyleOptionPro gressBarV2(); progressBarOption->rect = option.rect; progressBarOption->minimum = 0; progressBarOption->maximum = subTaskNum; progressBarOption->progress = finishedSubTaskNum; int t = finishedSubTaskNum/subTaskNum; progressBarOption->text = QString::number(t) + "%"; int subTaskNum = itemModel->data(itemModel->index(index.row(), 8), Qt::DisplayRole).toInt(); //如果是'已经完成子任务数' if (index.column() == 9) { const QAbstractItemModel *itemModel = index.model(); //获得索引对应 Model 中的数据 int finishedSubTaskNum = itemModel->data(index, Qt::DisplayRole).t const QModelIndex &index) const

QT实现在QLabel上画图

QT实现在QLabel上画图

QT实现在QLabel上画图QT之所以不能再任意控件上绘图是因为QT的事件过滤器把控件的绘图事件给过滤了。

在paintevent()函数中,通常需要设置QPainter对象,创建QPainter对象的同时需要指定绘图设备,即继承⾃QPainterDevice的⼦类作为绘图设备,绘制出来的图形将在这个设备上进⾏显⽰,Qt⼀共提供了4个这样的类,分别是QPixmap,QBitmap,QImage,和QPicture。

在控件上绘图⼜应该怎么办呢,我这以QLabel为例:使⽤事件过滤器来使QLabel对象捕获QEvent::Paint事件。

即,绘图函数不需要放在paintevent()函数中也可以实现绘图。

实现这个功能的主要函数就还是事件过滤器的两个重要函数,即installEventFilter()和eventFileter()#include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui->setupUi(this);ui->label->installEventFilter(this); //这⾏不能省}Widget::~Widget(){delete ui;}bool Widget::eventFilter(QObject *watched, QEvent *event) //⽤过滤器eventFilter()拦截QLabel中的QEvent::Paint事件{if(watched ==ui->label && event->type() == QEvent::Paint)paint();return QWidget::eventFilter(watched,event);}void Widget::paint() //绘图{QPainter painter(ui->label);painter.setPen(Qt::blue);// painter.drawLine(100,100,200,200);painter.drawEllipse(30,15,50,65);painter.drawLine(0,100,111,100);}我在ui⾥添加了QLabel控件命名label,并且⽤样式表将label的背景变成⿊⾊⽅便观察,下⾯是效果图。

Qt编写的项目作品22-自定义委托全家桶

Qt编写的项目作品22-自定义委托全家桶

Qt编写的项⽬作品22-⾃定义委托全家桶⼀、功能特点1. 可设置多种委托类型,例如复选框/⽂本框/下拉框/⽇期框/微调框/进度条等。

2. 可设置是否密⽂显⽰,⼀般⽤于⽂本框。

3. 可设置是否允许编辑,⼀般⽤于下拉框。

4. 可设置是否禁⽤,⼀般⽤来禁⽤某列。

5. 可设置数据集合,⽐如下拉框数据集合。

6. 提供值变化信号,⽐⽅说下拉框值改动触发。

7. 可设置数据校验⾃动产⽣不同的图标。

8. ⽀持设置校验列/校验规则/校验值/校验成功图标/校验失败图标/图标⼤⼩。

9. 可设置校验数据产⽣不同的背景颜⾊和⽂字颜⾊。

10. 校验规则⽀持 == > >= < <= != contain,⾮常丰富。

11. 复选框⾃动居中⽽不是左侧,切换选中状态发送对应的信号。

12. 可设置颜⾊委托,⾃动根据颜⾊值绘制背景颜⾊,⾃动设置最佳⽂本颜⾊。

13. 可设置按钮委托,⾃动根据值⽣成多个按钮,按钮按下发送对应的信号。

14. 当设置了委托列时⾃动绘制选中背景⾊和⽂字颜⾊。

15. 可设置关键字对照表绘制关键字⽐如原始数据是 0-禁⽤ 1-启⽤。

16. 可设置复选框对应的映射选中不选中关键字。

17. 根据不同的委托类型绘制,可以依葫芦画瓢⾃⾏增加⾃⼰的委托。

18. 所有功能封装成1个类不到500⾏代码,使⽤极其⽅便友好。

需求应⽤场景:1. 某个字段需要提供下拉框进⾏选择,下拉框可选是否允许编辑。

2. 某个字段需要提供密码框进⾏输⼊,密⽂显⽰字段值。

3. 某个字段需要提供⽇期框下拉选择⽇期时间。

4. 某个字段需要提供微调框设定值。

5. 某个字段需要提供进度条显⽰字段值。

6. 某个字段列需要禁⽤。

7. 各种委托控件可以设置初始的数据集合,⽐如下拉框。

8. 各种委托控件在值发⽣变化的时候发出valuechanged信号,⽐如下拉框选择声⾳⽂件的时候进⾏播放试听,微调框值改变的时候联动其他控件进⾏处理等。

9. 某个字段根据设定的规则进⾏数据校验⾃动产⽣不同的图标显⽰,⽐如报警红⾊图标/正常绿⾊图标,⼀⽬了然。

qt tablewidget用法

qt tablewidget用法

qt tablewidget用法QT是一款广泛使用的跨平台C++图形用户界面库,而TableWidget是QT框架中的一个重要组件,常用于显示和处理表格数据。

本文将详细介绍TableWidget的基本用法,包括创建、设置、编辑和显示表格数据等操作。

TableWidget是QT框架中用于显示表格数据的控件,它提供了丰富的功能和属性,可以方便地创建和管理表格。

TableWidget支持多种数据类型,如整数、浮点数、字符串等,并且可以自定义单元格的样式和布局。

要使用TableWidget,首先需要在QT项目中引入相关的库文件,并创建一个TableWidget对象。

可以通过代码或QtDesigner工具来创建TableWidget。

1.代码创建:```cppQTableWidget*tableWidget=newQTableWidget(parent);```其中,parent表示父窗口或控件对象。

2.QtDesigner创建:在QtDesigner工具中,通过拖放方式创建一个TableWidget控件,并设置其属性。

使用TableWidget之前,需要向其中添加行和列,并设置单元格的数据。

可以使用appendRow()和appendColumn()方法来添加行和列,使用setItem()方法来设置单元格的数据。

1.添加行和列:QTableWidgetItem*item1=newQTableWidgetItem(QString("Colum n1"));QTableWidgetItem*item2=newQTableWidgetItem(QString("Colum n2"));tableWidget->appendRow(QStringList(item1,item2));```2.设置单元格数据:```cpptableWidget->setItem(row,col,newQTableWidgetItem(QString("Data%1").arg(ro w*col)));```其中,row表示行号,col表示列号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. } }
//设置时间格式字符串 分:秒 QString text = QString("%1:%2") .arg(secs / 60, 2, 10, QChar('0')) .arg(secs % 60, 2, 10, QChar('0')); //获取项风格设置 QStyleOptionViewItem myOption = option; myOption.displayAlignment = Qt::AlignRight | Qt::AlignVCenter; //绘制文本 drawDisplay(painter, myOption, myOption.rect, text); //如果当前有焦点,就绘制一个焦点矩形,否则什么都不做 drawFocus(painter, myOption, myOption.rect); } else{ //否则默认 QItemDelegate::paint(painter, option, index);
4. { 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. } } } //如果没有控件选中,调用默认委托 else { QStyledItemDelegate::paint(painter, option, index); starRating.paint(painter, option.rect, option.palette, StarRating::ReadOnly); //如果某项数据是星星类型 if (qVariantCanConvert<StarRating>(index.data())) { //获取该项数据,并转换成 StarRating 类型 StarRating starRating = qVariantValue<StarRating>(index.data()); //如果有控件被选中,我们就让选中的控件变亮 if (option.state & QStyle::State_Selected) painter->fillRect(option.rect, option.palette.highlight());
//否则调用默认委托 QStyledItemDelegate::paint(painter, option, index);
3、实现在 QTableView 中绘制 QCheckBox
Java 代码
1. #include <QtGui> 2. #include <QItemDelegate> 3. #include <QStyleOptionProgressBarV2> 4. #include "DelReconQueue.h" 5. //重载绘制函数 6. void DelReconQueue::paint(QPainter *painter, const QStyleOptionViewItem &o ption, 7. 8. { 9. 10. 11. 12. (); 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. } } else { checkBoxOption->state |= QStyle::State_Off; //按钮的风格选项 QStyleOptionButton *checkBoxOption = new QStyleOptionButton(); checkBoxOption->state |= QStyle::State_Enabled; //根据值判断是否选中 if(checked) { checkBoxOption->state |= QStyle::State_On; if (index.column() == 11) { //获取值 bool checked = index.model()->data(index, Qt::DisplayRole).toBool const QModelIndex &index) const
2、实现在 QTableView 中绘制进度条
Cpp 代码
1. //重载绘制函数 2. void DelReconQueue::paint(QPainter *painter, const QStyleOptionViewItem &o ption, 3. 4. { 5. 6. 7. 8. 9. 10. oInt(); 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. //进度条的风格选项 QStyleOptionProgressBarV2 *progressBarOption = new QStyleOptionPro gressBarV2(); progressBarOption->rect = option.rect; progressBarOption->minimum = 0; progressBarOption->maximum = subTaskNum; progressBarOption->progress = finishedSubTaskNum; int t = finishedSubTaskNum/subTaskNum; progressBarOption->text = QString::number(t) + "%"; int subTaskNum = itemModel->data(itemModel->index(index.row(), 8), Qt::DisplayRole).toInt(); //如果是'已经完成子任务数' if (index.column() == 9) { const QAbstractItemModel *itemModel = index.model(); //获得索引对应 Model 中的数据 int finishedSubTaskNum = itemModel->data(index, Qt::DisplayRole).t const QModelIndex &index) const
else { //否则调用默认委托 QStyledItemDelegate::paint(painter, option, index);
//生成 QCheckBox
ቤተ መጻሕፍቲ ባይዱCpp 代码
1. QRect DgSystemLog::CheckBoxRect(const QStyleOptionViewItem &viewItemStyleO ptions)const 2. { 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. } //绘制按钮所需要的参数 QStyleOptionButton checkBoxStyleOption; //按照给定的风格参数 返回元素子区域 QRect checkBoxRect = QApplication::style()->subElementRect( QStyle::SE _CheckBoxIndicator, &checkBoxStyleOption); //返回 QCheckBox 坐标 QPoint checkBoxPoint(viewItemStyleOptions.rect.x() + viewItemStyleOpti ons.rect.width() / 2 - checkBoxRect.width() / 2, viewItemStyleOptions.rect.y() + viewItemStyleOpti ons.rect.height() / 2 - checkBoxRect.height() / 2); //返回 QCheckBox 几何形状 return QRect(checkBoxPoint, checkBoxRect.size());
25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. } } }
//返回 QCheckBox 几何形状 checkBoxOption->rect = CheckBoxRect(option); //绘制 QCheckBox QApplication::style()->drawControl(QStyle::CE_CheckBox,checkBoxOpt ion,painter);
4、实现在 QTableView 中绘制自定义类 星星
Cpp 代码
1. //重载绘制函数 2. void StarDelegate::paint(QPainter *painter, const QStyleOptionViewItem &op tion, 3. const QModelIndex &index) const
4. { 5. 6. 7. 8. 9. (); 10. 11. ')); 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 23. 24. 25. 26. 27. 28. } } } { //否则调用默认委托 QStyledItemDelegate::paint(painter, option, index); 22. else //获取项风格设置 QStyleOptionViewItem myOption = option; myOption.displayAlignment = Qt::AlignRight | Qt::AlignVCenter; //绘制文本 QApplication::style()->drawItemText ( painter, myOption.rect , myOptio n.displayAlignment, QApplication::palette(), true,text ); //设置'病人 Id'格式字符串: P:00000x;6 位 10 进制数,不足补 0; QString text = QString("P:%1").arg(patientId, 6, 10, QChar('0 //如果是第 2 列'病人 Id' if (index.column() == 2) { //获得当前项值 int patientId = index.model()->data(index, Qt::DisplayRole).toInt
相关文档
最新文档