qtablewidget

Add border under column headers in QTableWidget

懵懂的女人 提交于 2020-08-07 06:27:04
问题 I have a table widget with two column header in a dialog that looks like this: There is a separation between the column headers named "Index" and "Label", but there is no separating border between these header and the row below them. How can this be added? Say the table is instantiated as: table = QTableWidget(6, 2, self) I know that I can get the first horizontal header as a QTableWidgetItem by doing headerItem = table.horizontalHeaderItem(0) modify some properties and set it back, but I'm

how to position the QIcon in the Qt table item?

≯℡__Kan透↙ 提交于 2020-07-16 04:41:25
问题 I want a table cell with text aligned to the left and icon aligned to the right side. But now, im getting both icon and text left aligned, here what i have tried QtTableWidgetItem * item = new QtTableWidgetItem("program"); item -> setIcon(icon); ui -> tableWidget -> setItem(i,j,item); 回答1: To manage the position of the icon and the text you must use a delegate, in this case I use the QStyledItemDelegate and I overwrite the initStyleOption() method: C++ version aligndelegate.h #ifndef

how to position the QIcon in the Qt table item?

穿精又带淫゛_ 提交于 2020-07-16 04:41:07
问题 I want a table cell with text aligned to the left and icon aligned to the right side. But now, im getting both icon and text left aligned, here what i have tried QtTableWidgetItem * item = new QtTableWidgetItem("program"); item -> setIcon(icon); ui -> tableWidget -> setItem(i,j,item); 回答1: To manage the position of the icon and the text you must use a delegate, in this case I use the QStyledItemDelegate and I overwrite the initStyleOption() method: C++ version aligndelegate.h #ifndef

QTableWidget display certain decimals like excel

血红的双手。 提交于 2020-05-09 05:31:09
问题 My question is about the way the QTableWidget displays the cell values. I'd like for the cell to show only three decimals when it's not being edited and show the full value when you double click for editing. I am doing calculations in background and then setting the cell value afterwards. V_D = 3/0.7 self.TableWidget.setItem(0, 0, QTableWidgetItem(str(V_D))) Similar to the way excel formats the cell to show certain number of digits. Full Value: Display Value: How would I go about doing this?

Pyqt5-QtWidget的使用

南笙酒味 提交于 2020-03-04 21:47:12
QTableWidget是QTableViewer的子类 ,其中QTableViewer可以使用自定义的数据模型来显示内容(通过setModel ()来绑定数据源),而QTableWidget提供了一套标准的数据模型,QTableWidgetItem 对象作为QTableWidget中的单元数据来显示。使用QTableWidget就依赖于QTableWidgetItem。QTableWidgetItem用来表示表格中的一个单元格,通过一个个单元格组成整体的表。 QTableWidget简介: 如上图是QTableWidget的显示。 1. QTableWidgets实例化 根据QTableWidget的构造函数,我们在定义实例化的时候可以指定显示的行数和列数,也可以在QTableWidget实例化之后通过成员函数进行设定: self.table = QTableWidget(5,2) 或者 self.table = QTableWidget() self.table.setColumnCount(5) self.table.setRowCount(2) 2. 表头操作: 在table表头分为水平和垂直两种,及horizontal header和vertical header两类。 添加表头: 可以添加水平和垂直表头,QtWidgets提供两个方法

第15.28节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTableWidget详解

≡放荡痞女 提交于 2020-03-04 00:30:34
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一、引言 表格部件为应用程序提供标准的表格显示工具,在表格内可以管理基于行和列的数据项,表格中的最大数据项数为总行数和总列数的乘积,另外在表格中可以设置水平和垂直标题。 表格部件对应类为QTableWidget ,QTableWidget 表格部件中的项类型为QTableWidgetItem类。QTableWidget 从QTableView派生的子类,内置默认模型,如果表格展现的应用需要使用自己的数据模型,则应使用QTableView类,而不是QTableWidget 类。 二、QTableWidget的属性 2.1、概述 除了从父类继承的属性外,在Designer中QTableWidget只有两个属性,就是行数rowCount和列数columnCount,另外还有一部分就是用于设置表头的属性。如图: 2.2、行数rowCount QTableWidget的rowCount属性保存表格部件中的行数,在QTableWidget创建时如果没有指定行数,则缺省行数为0,QTableWidget创建后可以通过 setRowCount方法调整行数。 要获取当前表格部件中的行数,可以通过rowCount()方法获取,要设置表格部件的行数,可以通过setRowCount(int rows

Qt如何获得当前界面

烈酒焚心 提交于 2020-02-28 13:46:00
问题描述   在使用右键菜单栏时,希望对同一个点击对象由于界面位置的不同而产生不同的响应,举例如下图:   例如,我的界面中有一个QTabWidget,其中有三个不同的page,page中均为QTableWidget;而我的右键功能有为当前行上面或下面插入行,那么就需要对不同的界面进行不同的响应操作,只有鼠标在该界面时才对该界面进行添加行操作,其他界面均不进行。   该问题的产生在于:右键菜单栏是对于全局进行的操作,在默认情况下会对三个表都进行指定操作,因此需要避免。    Qt如何添加多级右键菜单 解决办法   QWidget* QApplication::focusWidget()函数提供了这样的功能实现;需要注意的是,该函数返回的指针不限于QWidget本身,实际上,当点击QTableWidget时返回的是QTableWidget*类型的指针,这给我们提供了比较两个ui界面是否一致的可能,代码如下: //获得当前鼠标所在界面(控件) QWidget * current_focus_widget ; current_focus_widget = QApplication :: focusWidget ( ) ; if ( current_focus_widget == tableWidget ) { //此处为需要的命令 }   我所设计的是在当前行上添加行,运行前: 运行后:

QTableWidget 基本概念及功能使用

人走茶凉 提交于 2020-02-28 13:34:15
QTableWidget是QT程序中常用的显示数据表格的空间。 QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元格内的信息填好即可)。这主要体现在QTableView类中有setModel成员函数,而到了QTableWidget类中,该成员函数变成了私有。使用QTableWidget就离不开QTableWidgetItem。QTableWidgetItem用来表示表格中的一个单元格,整个表格都需要用逐个单元格构建起来。 view plain #include <QtGui/QApplication> #include <QTableWidget> #include <QTableWidgetItem> int main(int argc, char *argv[]) { QApplication a(argc, argv); QTableWidget *tableWidget = new QTableWidget(10,5); // 构造了一个QTableWidget的对象,并且设置为10行,5列 //

PyQt5中的QTableWidget

柔情痞子 提交于 2020-02-21 07:01:54
最近新学了PyQt5中的QTableWidget, 总结了一下其的用法,具体如何用已经放入代码块中,若有错误,还望各位高手指正 import sys from PyQt5 . QtGui import * from PyQt5 . QtWidgets import * class TableWidgetDemo ( QWidget ) : def __init__ ( self ) : super ( TableWidgetDemo , self ) . __init__ ( ) self . initUI ( ) def initUI ( self ) : self . setWindowTitle ( "QTableWidget" ) self . resize ( 430 , 230 ) layout = QHBoxLayout ( ) tablewidget = QTableWidget ( ) tablewidget . setRowCount ( 4 ) tablewidget . setColumnCount ( 3 ) layout . addWidget ( tablewidget ) # 设置水平的头标签 tablewidget . setHorizontalHeaderLabels ( [ '姓名' , '年龄' , '籍贯' ] ) nameItem =

QTableWidget的用法总结

二次信任 提交于 2020-02-17 06:18:02
在使用Qt不多的日子里,已经两次用到了QTableWidget这个控件,也慢慢的习惯和喜欢上了它。再使用QTableWidget的时候,已不像刚开始使用时的迷茫。嗯嗯。现在就来总结总结我与QTableWidget相识的历程......(*^__^*) 嘻嘻…… 使用时也查过不少资料,在此感谢前辈们的用心总结与分享! 1.QTableWidget不能在mainwindow中随主窗口的大小变化? 解决:在表格外部添加布局。 代码:tableWidget = new QTableWidget; tableWidget ->setObjectName(QString::fromUtf8("tableWidget")); QVBoxLayout *verticalLayout; verticalLayout->addWidget(tableWidget ); 2.将表格变为禁止编辑: tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); (参数含义:QAbstractItemView.NoEditTriggers--不能对表格内容进行修改 QAbstractItemView.CurrentChanged--任何时候都能对单元格修改 QAbstractItemView.DoubleClicked--双击单元格