qtableview自动显示行号

问题描述:QTableView怎么实现一行一行的输出显示 大家好,小编为大家解答一个有趣的事情的问题。很多人还不知道一个有趣的事情,现在让我们一起来看看吧!

PyQt4中的QtableView怎样双击获取选中行的行号

qtableview自动显示行号的相关图片

QTableView常用于实现数据的表格显示。下面我们如何按步骤实现学生信息表格:

一 添加表头

//准备数据模型

QStandardItemModel *student_model = new QStandardItemModel();。

student_model->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr("Name")));。

student_model->setHorizontalHeaderItem(1, new QStandardItem(QObject::tr("NO.")));。

student_model->setHorizontalHeaderItem(2, new QStandardItem(QObject::tr("Sex")));。

student_model->setHorizontalHeaderItem(3, new QStandardItem(QObject::tr("Age")));。

student_model->setHorizontalHeaderItem(4, new QStandardItem(QObject::tr("College")));。

//利用setModel()方法将数据模型与QTableView绑定。

ui->student_tableview->setModel(student_model);。

二 设置表格属性

//设置列宽不可变动,即不能通过鼠标拖动增加列宽 。

ui->student_tableview->horizontalHeader()->setResizeMode(0, QHeaderView::Fixed); 。

ui->student_tableview->horizontalHeader()->setResizeMode(1, QHeaderView::Fixed); 。

ui->student_tableview->horizontalHeader()->setResizeMode(2, QHeaderView::Fixed); 。

ui->student_tableview->horizontalHeader()->setResizeMode(3, QHeaderView::Fixed); 。

ui->student_tableview->horizontalHeader()->setResizeMode(4, QHeaderView::Fixed); 。

//设置表格的各列的宽度值 。

ui->student_tableview->setColumnWidth(0,100); 。

ui->student_tableview->setColumnWidth(1,100); 。

ui->student_tableview->setColumnWidth(2,100); 。

ui->student_tableview->setColumnWidth(3,100); 。

ui->student_tableview->setColumnWidth(4,100); 。

//默认显示行头,如果你觉得不美观的话,我们可以将隐藏 。

ui->student_tableview->verticalHeader()->hide(); 。

//设置选中时为整行选中 。

ui->student_tableview->setSelectionBehavior(QAbstractItemView::SelectRows); 。

//设置表格的单元为只读属性,即不能编辑 。

ui->student_tableview->setEditTriggers(QAbstractItemView::NoEditTriggers); 。

//如果你用在QTableView中使用右键菜单,需启用该属性 。

ui->tstudent_tableview->setContextMenuPolicy(Qt::CustomContextMenu);。

三 动态添加行

在表格中添加行时,我们只需要在model中插入数据即可,一旦model中的数据发生变化,QTabelView显示就会做相应的变动。

//在第一行添加学生张三的个人信息(setItem函数的第一个参数表示行号,第二个表示列号,第三个为要显示的数据)。

student_model->setItem(0, 0, new QStandardItem(“张三"));。

student_model->setItem(0, 1, new QStandardItem("20120202"));。

student_model->setItem(0, 2, new QStandardItem("男"));。

student_model->setItem(0, 3, new QStandardItem("18"));。

student_model->setItem(0, 4, new QStandardItem("土木学院"));。

四 设置数据显示的样式

//设置单元格文本居中,张三的数据设置为居中显示。

student_model->item(0, 0)->setTextAlignment(Qt::AlignCenter);。

student_model->item(0, 1)->setTextAlignment(Qt::AlignCenter);。

student_model->item(0, 2)->setTextAlignment(Qt::AlignCenter);。

student_model->item(0, 3)->setTextAlignment(Qt::AlignCenter);。

student_model->item(0, 4)->setTextAlignment(Qt::AlignCenter);。

//设置单元格文本颜色,张三的数据设置为红色。

student_model->item(0, 0)->setForeground(QBrush(QColor(255, 0, 0))); 。

student_model->item(0, 1)->setForeground(QBrush(QColor(255, 0, 0))); 。

student_model->item(0, 2)->setForeground(QBrush(QColor(255, 0, 0))); 。

student_model->item(0, 3)->setForeground(QBrush(QColor(255, 0, 0))); 。

student_model->item(0, 4)->setForeground(QBrush(QColor(255, 0, 0)));。

//将字体加粗

student_model->item(0, 0)->setFont( QFont( "Times", 10, QFont::Black ) );。

student_model->item(0, 1)->setFont( QFont( "Times", 10, QFont::Black ) );。

student_model->item(0, 2)->setFont( QFont( "Times", 10, QFont::Black ) );。

student_model->item(0, 3)->setFont( QFont( "Times", 10, QFont::Black ) );。

student_model->item(0, 4)->setFont( QFont( "Times", 10, QFont::Black ) );。

//设置排序方式,按年龄降序显示。

student_model->sort(3, Qt::DescendingOrder);。

windows下用qt实现qtableview中内容自动换行的相关图片

windows下用qt实现qtableview中内容自动换行

这个不用获取什么行号,你可以用resize重新扩大选择的区域。

比如你选定了a1:a8然后想把b1:b8一起合并,vba代码如下:

Sub test()

activesheet.Range("a1:a8").Resize(, 2).merge。

End Sub

QT中如何删除QTableView自动生成的数字序号列?的相关图片

QT中如何删除QTableView自动生成的数字序号列?

QT的QTableView是基于Model/View架构的,这种设计并没有包含一个完整而独立的组件用于管理用户的交互。一般来说,view仅仅是用作对model数据的展示和对用户输入的处理,而不应该去做其他的工作。在这种结构中,为了获得对用户输入控制的灵活性,这种交互工作交给了delegate,也就是“委托”。

而QT对QTableView的委托QStyleItemDelegate是不支持换行功能的,即使手动加上\r\n,在Table里显示的也只是一个空格。

说到这里,相信你也该猜到了,方法是自定义委托,继承QStyleItemDelegate,在paint函数里面,drawText的时候,用QTextOption设置换行。

我用自己账号回答被判违规了,不能给你追问了不好意思。

请教在QTableView怎么才能不显示行号和列头的相关图片

请教在QTableView怎么才能不显示行号和列头

查看QT帮助文档吧 数字序列可以隐藏的 边框颜色都是可以修改的。

如何从QTableView中获取选定的行数

请问,在QTableView中如何不显示行号和列头。

------解决方案--------------------。

QTableView::horizontalHeader()->hide()方法。

QTableView::verticalHeader()->hide()方法 。

------解决方案--------------------。

C/C++ codetableView->horizonalHeader()->setVisible(false);//这个可以。

原文地址:http://www.qianchusai.com/qtableview%E8%87%AA%E5%8A%A8%E6%98%BE%E7%A4%BA%E8%A1%8C%E5%8F%B7.html

cc/微信头像舟,cc微信头像高清

cc/微信头像舟,cc微信头像高清

国宝大熊猫作文250字以上,国宝大熊猫作文250字以上三年级

国宝大熊猫作文250字以上,国宝大熊猫作文250字以上三年级

motivate变名词,motivate词性转换

motivate变名词,motivate词性转换

rippe-100

rippe-100

illusory什么意思中文,illusion是什么意思中文

illusory什么意思中文,illusion是什么意思中文

华硕电脑bios强制恢复出厂设置,华硕进去bios 怎么恢复出厂设置

华硕电脑bios强制恢复出厂设置,华硕进去bios 怎么恢复出厂设置

一本有魔法的书400想象作文,一本有魔法的书作文400字想象作文优

一本有魔法的书400想象作文,一本有魔法的书作文400字想象作文优

profitability,profitability ratio怎么算

profitability,profitability ratio怎么算

天堂影视-50,天堂影视蜘蛛侠英雄无归

天堂影视-50,天堂影视蜘蛛侠英雄无归

canal2094-0

canal2094-0