QTableView设置列宽

环境: python 2.7.6, pyqt 4.8.6

想要的效果

默认是均匀分布的列宽。

代码顺序:

1、定义QTableview实例tableview

2、定义QAbstractTableModel实例table_model

3、将tablemodel赋值给tableview

4、定义QHeaderView实例head

5、把head赋值给tableview

6、设置列宽

如果赋值head在赋值table_model之前,则要把table_model赋值给head。

<span style="white-space:pre">	</span>#tableview
        self.table_model = my_model(self.my_array, self)
        #Model赋给表格
        self.ui.tableView.setModel(self.table_model)
        #水平表头
        head = QtGui.QHeaderView(QtCore.Qt.Horizontal, self)
        #自定义模式,不能拖动
        head.setResizeMode(QtGui.QHeaderView.Custom)
        self.ui.tableView.setHorizontalHeader(head)
        #设置0~3列的宽度
        head.resizeSection(0,30)
        head.resizeSection(1,200)
        head.resizeSection(2,160)
        head.resizeSection(3,70)

使用QHeaderView.Custom 模式,只能通过编程来进行修改列宽。

另外,不使用QHeadView,点击第1行,则标题也会被反色显示。

而且列宽默认是这个样子。

正确的是:

重写QItemDelegate中的sizeHint,不能修改列宽。

而且,也不工作。

QTableView设置列宽

时间: 2024-10-06 05:33:00

QTableView设置列宽的相关文章

Oracle设置列宽,行数

Oracle列宽.行数设置 在命令行进行简单的数据库操作,有时显示出来的数据出现换行情况,为了让数据更加清晰美观,这时可以设置行宽和列宽. 首先设置行数:set pagesize 300(根据个人要求设置); 然后设置列宽:set linesize 200/150(根据个人要求设置); 最后看一下效果,如下: 设置之前 设置之后 这样所有数据显示明了清晰,赶快试一下吧. 原文地址:https://www.cnblogs.com/s1-myblog/p/10888403.html

jqGrid 设置列宽

在jqgrid显示出来之后,需要手动调整列宽. 1. 经过调查jqgrid本身不支持指定列宽,当然这个是说的的初始化完成后. 2. 经过调查手动是可以调整列宽,所以进行了事件的查看resizestop的事件在调整后被调用. 3. 经过一番思考,这个事件不能满足要求. 4. 从html角度考虑,只要把这列宽调整好就行,抛弃jqgrid的实现方式,直接操作,于是有了下面的实现初稿,大约有3个地方需要进行调整. $('#gridLegs_WebGridCtrl1_LEGNBR').css("width

DataTable 怎样设置列宽? DataTable中已经有数据了怎样在现实的时候设置它的列宽?

首先要理解 DataTable是一个虚拟表,里面存有数据列,既然是虚拟的就不能够为它去设置宽度,如果设置的话可以对其绑定的控件进行设置.例如:绑定的控件对象为DataGridView那么可以这样 datagridview1.datasource = datatable:datagridview1.Column[0].Width = 100;这样就可以将控件上第一列的数据宽设置为100. 1 private void ShowDtails_Click(object sender, EventArg

jxl设置列宽

public static void main(String[] args) throws IOException, WriteException{  jxl.write.WritableWorkbook ww = Workbook.createWorkbook(new File("M:\\workspace\\wxzb\\src\\images\\tes.xls"));     WritableSheet ws = ww.createSheet("工作簿", 0)

QT QTableView用法小结

QTableView常用于实现数据的表格显示.下面我们如何按步骤实现学生信息表格: 一 添加表头 1 //准备数据模型 2 QStandardItemModel *student_model = new QStandardItemModel(); 3 student_model->setHorizontalHeaderItem(0, new QStandardItem(QObject::tr("Name"))); 4 student_model->setHorizontal

转载:QT QTableView用法小结

出自: http://blog.chinaunix.net/uid-20382483-id-3518513.html QTableView常用于实现数据的表格显示.下面我们如何按步骤实现学生信息表格: 一 添加表头 //准备数据模型     QStandardItemModel *student_model = new QStandardItemModel();     student_model->setHorizontalHeaderItem(0, new QStandardItem(QOb

24.QTableView

QTableView view(this); QStandardItemModel model(this); /*设置表头水平标题*/ model.setHorizontalHeaderItem(0,new QStandardItem("Name")); model.setHorizontalHeaderItem(1,new QStandardItem("Sex")); model.setHorizontalHeaderItem(2,new QStandardIte

java 从Excel 输出和输入

本文实现了使用java 从数据库中获得对象,并存入集合中, 然后输出到Excel,并设置样式 1 package com.webwork; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.util.List; 6 7 import org.jdom.output.Format; 8 9 import jxl.Workbook; 10 import jxl.write.Label; 11 import jxl

关于QT的系统总结(非常全面,非常好)

源地址:http://www.cnblogs.com/wangqiguo/p/4625611.html 阅读目录 编译环境与开发流程 QT项目的构成及原理 QT中的布局 QT中的通用控件 QVariant 类型 QComboBox控件 QTableWidget控件 QTabWidget控件 QWebview控件 使用QSS 编码问题 QT的内存管理 QT的信号槽 QT中绘图 QT的线程 QT中使用第三方的dll QT中为控件添加右键菜单的方法 结束语 回到顶部 编译环境与开发流程 开发QT有两种