[QT][DEMO] QTableWidget 设置某一列禁止编辑
例程 : 又是好风景 : http://blog.csdn.net/qiao_yihan/article/details/46413345
关键点:
1.QTableWidgetItem 的 setFlags() 和 flags()
2.QTableWidget 不能 设置 setEditTriggers() 为 QAbstractItemView::NoEditTriggers,否则1中的设置会失效
table_widget->setEditTriggers(QAbstractItemView::NoEditTriggers); //设置不可编辑
代码:
int NumOfReg = ;
ui->tableWidget->setColumnCount();
ui->tableWidget->setRowCount(NumOfReg);
/* 设置 tableWidget */
ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "Id" << "Name" << "Unit" << "Value" << "Min" << "Max" \
<< "Type" << "Mode" << "Enable" << "Last read" << "Last write");
ui->tableWidget->verticalHeader()->setVisible(false); // 隐藏水平header
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectItems); // 单个选中
ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); // 可以选中多个 /* 设置 Id Name 字段的值不能修改 */
/* 设置不可修改的Id Name两列的背景颜色为灰色 */
for(int i = ; i < NumOfReg; i++) {
QTableWidgetItem *item = new QTableWidgetItem();
//item->setBackground(QBrush(QColor(Qt::lightGray)));
item->setFlags(item->flags() & (~Qt::ItemIsEditable));
ui->tableWidget->setItem(i, , item);
}
for(int i = ; i < NumOfReg; i++) {
QTableWidgetItem *item = new QTableWidgetItem();
item->setBackground(QBrush(QColor(Qt::lightGray)));
item->setFlags(item->flags() & (~Qt::ItemIsEditable));
ui->tableWidget->setItem(i, , item);
}
MainWindow.c
工程文件:
http://download.csdn.net/detail/ewrest/9854319
[QT][DEMO] QTableWidget 设置某一列禁止编辑的更多相关文章
- Qt5 QTableWidget设置列表自动适应列宽
//设置自动适应列宽 ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
- Qt中 QTableWidget用法总结
转自--> http://edsionte.com/techblog/archives/3014 http://hi.baidu.com/fightiger/item/693aaa0f0f87d ...
- Qt之QTableWidget
学习QTableWidget就要首先看看QTableView控件(控件也是有”家世“的!就像研究人一样一样的),因为QTableWidget继承于类QTableView. 两者主要区别是QTableV ...
- Qt ------ QTableView QTableWidget
QTableView model提供数据 view提供视图 view用来显示model的数据 必须将model绑定到某个view中才能显示 QStandardItemModel* mod ...
- qt qtableview 样式设置
转载请注明出处:http://www.cnblogs.com/dachen408/p/7531159.html 1.设置tableview的列宽时,必须先setModel再setColumnWidge ...
- 虹软人脸识别——官方 Qt Demo 移植到 Linux
一.前言 最近需要在 Linux 平台下开发一个人脸识别相关的应用,用到了虹软的人脸识别 SDK.之前在 Windows 平台用过,感觉不错,SDK 里面还带了 Demo 可以快速看到效果.打开 Li ...
- 百度地图API示例之设置级别setZoom与禁止拖拽disableDragging
百度地图API示例之设置级别setZoom与禁止拖拽disableDragging 设置级别 <html> <head> <meta http-equiv="C ...
- 解决JQuery中datatables设置隐藏显示列多次提交后台刷新数据的问题
此次项目开发过程中用到了Jquery的Datatables插件,无疑他是数据列表展示,解决MVC中同步过程中先走控制器后返回视图,查询数据过程中无法提示等待的弊端, 而且他所提供的各种方法也都有较强的 ...
- CSS: Table-Layout & Word-Break 设置表和列的宽度固定不变
1. 设置Table的列宽由表格宽度和列宽度设定(指定表格宽度,各个列宽度): table#tbl_id{table-layout:fixed;} 2. 设置TD内容根据宽度进行换行,即使字符串之间无 ...
随机推荐
- C#字母转换成数字/数字转换成字母 - ASCII码转换
字母转换成数字 byte[] array = new byte[1]; //定义一组数组arrayarray = System.Text.Encoding.ASCII.GetBytes(strin ...
- SqlServer2005 各版本区别
SQL2005 分五个版本,如下所列, 1.Enterprise(企业版), 2.Development(开发版), 3.Workgroup,(工作群版) 4.Standard,(标准版) 5.Exp ...
- #C++初学记录(素数判断2)
素数判断2 比较简单的算法,没有技术含量 A prime number is a natural number which has exactly two distinct natural numbe ...
- 003-maven安装(3.5.4版本)
说明:欲安装maven,必须先安装java的jdk. 1.下载地址. 链接:https://pan.baidu.com/s/1EKFBrgqShFZJ6Fccen82Jw 密码:ny15 2.直接解压 ...
- DB杂记
1. mybatits 批量插入: <insert id="insertColumnitem2"> INSERT INTO REPORT_COLUMNITEM (COL ...
- DB 异常
1. ORA-00947: Not enough values 没有足够的值 执行insert的时候出现这个错误. 例如:insert into 表1 values (?,?,?); 表1的结构有4 ...
- 0510进程 multiprocess模块
process模块是一个创建进程的模块,借助这个模块,就可以完成进程的创建. 创建模块 import os import time from multiprocessing import Proces ...
- JS地址自动返填技术
系统设计地址为省市县三级联动,规范是规范了,但是无形中增加了系统操作的时间成本,因此设计地址自动返填技术,只要把地址拷贝到详细地址框中,可以自动返填到省市县三级联动的下拉框中. 还好洒家的大学不是混过 ...
- 20145204 《Java程序设计》第6周学习总结
20145204 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 数据流 I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据 ...
- git如何在自动生成补丁时指定补丁名的起始编号
答:使用选项--start-number,用法如下: git format-patch 1f43be --start-number=2 这样就可以生成起始编号为2的补丁名,类似0002-me.patc ...