例程 : 又是好风景 : 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 设置某一列禁止编辑的更多相关文章

  1. Qt5 QTableWidget设置列表自动适应列宽

    //设置自动适应列宽 ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

  2. Qt中 QTableWidget用法总结

    转自--> http://edsionte.com/techblog/archives/3014 http://hi.baidu.com/fightiger/item/693aaa0f0f87d ...

  3. Qt之QTableWidget

    学习QTableWidget就要首先看看QTableView控件(控件也是有”家世“的!就像研究人一样一样的),因为QTableWidget继承于类QTableView. 两者主要区别是QTableV ...

  4. Qt ------ QTableView QTableWidget

    QTableView model提供数据    view提供视图   view用来显示model的数据   必须将model绑定到某个view中才能显示 QStandardItemModel* mod ...

  5. qt qtableview 样式设置

    转载请注明出处:http://www.cnblogs.com/dachen408/p/7531159.html 1.设置tableview的列宽时,必须先setModel再setColumnWidge ...

  6. 虹软人脸识别——官方 Qt Demo 移植到 Linux

    一.前言 最近需要在 Linux 平台下开发一个人脸识别相关的应用,用到了虹软的人脸识别 SDK.之前在 Windows 平台用过,感觉不错,SDK 里面还带了 Demo 可以快速看到效果.打开 Li ...

  7. 百度地图API示例之设置级别setZoom与禁止拖拽disableDragging

    百度地图API示例之设置级别setZoom与禁止拖拽disableDragging 设置级别 <html> <head> <meta http-equiv="C ...

  8. 解决JQuery中datatables设置隐藏显示列多次提交后台刷新数据的问题

    此次项目开发过程中用到了Jquery的Datatables插件,无疑他是数据列表展示,解决MVC中同步过程中先走控制器后返回视图,查询数据过程中无法提示等待的弊端, 而且他所提供的各种方法也都有较强的 ...

  9. CSS: Table-Layout & Word-Break 设置表和列的宽度固定不变

    1. 设置Table的列宽由表格宽度和列宽度设定(指定表格宽度,各个列宽度): table#tbl_id{table-layout:fixed;} 2. 设置TD内容根据宽度进行换行,即使字符串之间无 ...

随机推荐

  1. C#字母转换成数字/数字转换成字母 - ASCII码转换

    字母转换成数字 byte[] array = new byte[1];   //定义一组数组arrayarray = System.Text.Encoding.ASCII.GetBytes(strin ...

  2. SqlServer2005 各版本区别

    SQL2005 分五个版本,如下所列, 1.Enterprise(企业版), 2.Development(开发版), 3.Workgroup,(工作群版) 4.Standard,(标准版) 5.Exp ...

  3. #C++初学记录(素数判断2)

    素数判断2 比较简单的算法,没有技术含量 A prime number is a natural number which has exactly two distinct natural numbe ...

  4. 003-maven安装(3.5.4版本)

    说明:欲安装maven,必须先安装java的jdk. 1.下载地址. 链接:https://pan.baidu.com/s/1EKFBrgqShFZJ6Fccen82Jw 密码:ny15 2.直接解压 ...

  5. DB杂记

    1. mybatits 批量插入: <insert id="insertColumnitem2"> INSERT INTO REPORT_COLUMNITEM (COL ...

  6. DB 异常

    1. ORA-00947: Not enough values 没有足够的值  执行insert的时候出现这个错误. 例如:insert into 表1 values (?,?,?); 表1的结构有4 ...

  7. 0510进程 multiprocess模块

    process模块是一个创建进程的模块,借助这个模块,就可以完成进程的创建. 创建模块 import os import time from multiprocessing import Proces ...

  8. JS地址自动返填技术

    系统设计地址为省市县三级联动,规范是规范了,但是无形中增加了系统操作的时间成本,因此设计地址自动返填技术,只要把地址拷贝到详细地址框中,可以自动返填到省市县三级联动的下拉框中. 还好洒家的大学不是混过 ...

  9. 20145204 《Java程序设计》第6周学习总结

    20145204 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 输入/输出 数据流 I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据 ...

  10. git如何在自动生成补丁时指定补丁名的起始编号

    答:使用选项--start-number,用法如下: git format-patch 1f43be --start-number=2 这样就可以生成起始编号为2的补丁名,类似0002-me.patc ...