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

三国志战略版战法冲突效果详解 - 游戏攻略指南 三国志战略版鬼神霆威攻略 - 技能解析与阵容搭配 三国志战略版建模 - 游戏建模技术与艺术 三国志战略版强攻战法全攻略 - 最强战法搭配与使用技巧 三国志战略版孙权战法全攻略 - 专属战法详解与搭配推荐 三国志战略版抵御效果详解 - 游戏机制攻略 三国志战略版军屯加多少 - 军屯加成计算与策略指南 三国志战略版秘策有什么用 - 秘策系统全解析 三国志战略版冲突机制详解 - 游戏攻略指南 三国志战略版8级地攻略 - 8级地打法与配将推荐 三国志战略版虚弱和抵御机制详解 - 游戏攻略指南 三国志战略版先锋测试服报名 - 官方招募开启 三国志战略版分城怎么开 - 完整攻略指南 三国志战略版异族部落演练 - 攻略技巧与玩法解析 三国志战略版新引擎版本测试体验官招募 - 官方活动 三国志战略版NPC城池攻打攻略 - 详细技巧与阵容推荐 三国志战略版资源州分布图 - 全服资源州位置详解 三国志战略版阵法大全 - 阵法搭配攻略与效果详解 三国志战略版势力值提升攻略 - 快速增加势力值方法大全 三国志战略版军屯地产量计算器 - 最全军屯地产量数据与攻略 三国志战略版名声系统详解 - 声望提升攻略大全 三国志战略版拔城时间攻略 - 最全攻城时间表 三国志战略版造币厂最多几个 - 造币厂数量限制详解 三国志战略版 灼烧连营攻略大全 - 武将搭配与战术指南 三国志战略版经武战法全攻略 - 经武战法详解与搭配推荐 三国志战略版军屯建立攻略 - 详细步骤与运营策略 三国志战略版虎帐攻略大全 - 武将培养与阵容搭配指南 三国志战略版陷阵营攻略 - 最强阵容搭配与战术指南 三国志战略版武将卡等级系统详解 - 完整攻略指南 三国志战略版怎么快速提高势力值 - 实用攻略指南