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

三国志战略版三势吕阵容搭配攻略 - 高爆发输出阵容详解 三国志战略版太尉三红阵容搭配攻略 三国志战略版PK赛季5级地攻占攻略 - 简明开荒与配将指南 三国志战略版刘备加点攻略 - 属性分配与搭配指南 三国志塔防1免费版 - 经典策略塔防游戏在线玩 率土之滨是三国志战略版吗?两款游戏对比解析 光荣三国志2游戏设定详解 三国战纪:乱世枭雄 改版游戏下载 - 经典街机重温 三国志战略版S4赛季卡包详情 - 武将列表与抽卡概率 三国志战略版长蛇阵搭配指南 - 阵法与武将实战配置 三国志战略版周太凌阵容攻略 - 周瑜太史慈凌统搭配指南 三国志战略版太尉盾兵书搭配攻略 - 实用阵容推荐与技巧 三国志战略版:法正与张角武将搭配攻略 三国志大战天 汉化版 - 游戏介绍与下载 | 简单实用指南 三国志大战DS下载 - 免费游戏下载与介绍 三国志战略版吴骑阵容搭配指南 - 朴素实用推荐 三国志战略版紫将实力排名 - 实用强度分析 三国志战略版司马懿攻略 - 战法搭配与阵容推荐 三国志11威力加强版绿色版 - 经典策略游戏下载与使用指南 三国志战略版S3阵容搭配推荐表 三国志11设施介绍 - 游戏设施功能详解 三国志大战下载 - 经典战棋策略游戏 三国志战略版:张角与刘备武将搭配攻略 三国志战略版一力拒守战法详解 - 游戏攻略 三国志9威力加强版PK版 专题介绍 三国志战略版群弓双将开荒攻略 - 新手高效开荒指南 三国志战略版军屯加成详解 - 游戏攻略 三国志战略版成就卡包怎么抽 - 抽取方法与技巧详解 三国志战略版必拆战法推荐指南 三国志12下载电脑版 - 免费安全下载与安装指南