分类: QT2013-05-21 16:22 2561人阅读 评论(0) 收藏 举报

1、设置表头及大小

QStringList header;

    header<<"ID"<<"NAME"<<"年龄"<<"sex"<<"data";
    ui->tableWidget->setHorizontalHeaderLabels(header);
ui->tableWidget->setRowCount(3);
    ui->tableWidget->setColumnCount(5);
 
2、获得和设置单元内容
connect(ui->tableWidget,SIGNAL(cellClicked(int,int)),SLOT(showmark()));

void widget::showmark()

{
    QTableWidgetItem *item = ui->tableWidget->currentItem();
    item->setTextColor(QColor(255,50,50));
    ui->label->setText(item->text());


}
ui->tableWidget->setItem(xx,yy++,new QTableWidgetItem(ui->lineEdit_2->text()));
这样获得的item 一定要判断是否为空  若为空 应进行空的对应处理(否则程序会报错退出)
 
3、插入一行
ui->tableWidget->insertRow(xx);xx表示对应的位置
	
/*给单元格中增加图标*/
QTableWidgetItem *item = new QTableWidgetItem(QIcon("myImage.jpg"), NULL);  //只加入图标,没有字符串
QTableWidgetItem *item = new QTableWidgetItem(QIcon("myImage.jpg"), myString);   //加入图标和字符串
table->setItem(row, column, item);
/*插入一行*/
int row = table->rowCount();
table->insertRow(row);
/*插入一列*/
int column = table->columnCount();
table->insertColumn(column);
//使行列头自适应宽度,最后一列将会填充空白部分
table->horizontalHeader()->setStretchLastSection(true);          
//使行列头自适应宽度,所有列平均分来填充空白部分            
table->horizontalHeader()->setResizeMode(QHeaderView::Strtch);        
//使行自适应高度,假如行很多的话,行的高度不会一直减小,当达到一定值时会自动生成一个QScrollBar
table->verticalHeader()->setResizeMode(QHeaderView::Strtch);
//设置单击选择一行
table->setSelectionBehuavior(QAbstractItemView::SelectRows);
//设置每行内容不可编辑
table->setEditTriggers(QAbstractItemView::NoEditTriggers);
//设置只能选择一行,不能选择多行
table->setSelectionMode(QAbstractItemView::SingleSelection);
/*去掉每行的行号*/
QHeaderView *headerView = table->verticalHeader();
headerView->setHidden(true);
/*设置让某个单元格或某行选中*/
选中单元格:table->setCurrentCell(row, column, QItemSelectionModel::Select);
选中一行:table->setCurrentCell(row, QItemSelectionModel::Select);(注意此处的列没有值)
 
4、删除某一行 列

FriendTable->removeRow(row);

FriendTable->removeColumn (column );

 
5、

设置表单背景或透明

QPalette pal = musicTable->palette();     pal.setBrush(this->backgroundRole(),QBrush(QPixmap("images/background.png")) );     musicTable->setPalette( pal );

设置它的背景图片,也可以将QBrush初始化为QColor来设置背景颜色

QPalette pll = musicTable->palette();

pll.setBrush(QPalette::Base,QBrush(QColor(255,255,255,0)));

musicTable->setPalette(pll);  //和QTextEdit一样,都可以使用样式表QPalette来修改它的背景颜色和背景图片,这里我们把刷子设置为全透明的,就可以是透明的

6、隔行显示颜色

ui->tableWidget->setAlternatingRowColors(1);

  1. this->ui->friendList->setSelectionMode(QAbstractItemView::SingleSelection); //设置只能选择一行,不能多行选中
  2. this->ui->friendList->setEditTriggers(QAbstractItemView::NoEditTriggers);   //设置每行内容不可更改
  3. this->ui->friendList->setAlternatingRowColors(true);                        //设置隔一行变一颜色,即:一灰一白

QT TableWidget 应用笔记的更多相关文章

  1. 支持源码单步调试QT库编译笔记

    支持源码单步调试QT库编译笔记 编译环境:windows 10 编译工具:mingw_4_4_0 Qt源码版本:qt-everywhere-opensource-src-4.8.5(下载地址:http ...

  2. Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分享 ...

  3. Qt — tableWidget插入复选框

    之前不太了解Qt中的相关控件,一直尝试直接在tableview上增加复选框. 但相对来说,在tableview增加复选框的工作量与麻烦程度远超tableWidget. 接下来是如何在Qt的tableW ...

  4. C/C++ Qt TableWidget 表格组件应用

    TableWidget 表格结构组件,该组件可以看作是TreeWidget树形组件的高级版,表格组件相比于树结构组件灵活性更高,不仅提供了输出展示二维表格功能,还可以直接对表格元素直接进行编辑与修改操 ...

  5. Qt设计师学习笔记--Sharping-Changing Dialogs

    1.pushbutton->default属性为true,按回车相当于点击该按钮. 2.选中checkable后,Button变成切换按钮(toggle button),可以有两种状态:按下/弹 ...

  6. QT学习入门笔记

    系统路径 path 添加dll路径,如D:\QT\5.4\mingw491_32. .pro 文件添加 QT +=  widgets,否则出现qapplication no such file or ...

  7. 【Qt】学习笔记(一)

    1.setupUi(this) : setupUi(this)是由.ui文件生成的类的构造函数这个函数的作用是对界面进行初始化它按照我们在Qt设计器里设计的样子把窗体画出来 setupUi(this) ...

  8. qt tablewidget搜索效果如下

    from PyQt4.QtCore import *from PyQt4.QtGui import *from PyQt4.Qt import *import sysfrom aa1 import U ...

  9. Qt creator使用笔记

    设置头文件的搜索路径编辑项目文件 xxx.pro INCLUDEPATH = /src/doip \ /src/doip/utils \ /src/doip/pduR \ /src/doip/uds1 ...

随机推荐

  1. SiteMesh3整合SpringMVC+FreeMarker

    SiteMesh3配置 添加maven依赖 添加filter 配置servlet 添加sitemesh配置文件 decorator示例 SpringMVC.FreeMarker配置(404问题处理) ...

  2. IOS Socket 04-利用框架CocoaAsyncSocket实现客户端/服务器端

    这篇文章,我们介绍CocoaAsyncSocket框架的使用,主要介绍实现客户端/服务器端代码,相信在网上已经很多这样的文章了,这里做一下自己的总结.这里介绍使用GCD方式 一.客户端 1.下载地址 ...

  3. 如何在 Ubuntu 15.04 上安装带 JSON 支持的 SQLite 3.9

    欢迎阅读我们关于SQLite 的文章,SQLite 是当今世界上使用最广泛的 SQL 数据库引擎,它基本不需要配置,不需要设置或管理就可以运行.SQLite 是一个是公开领域(public-domai ...

  4. 分割超大Redis数据库例子

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/124.html?1455853509 薄荷 App 上的伙伴功能大量使用了 ...

  5. [Spring框架] Spring中的 ContextLoaderListener 实现原理.

    前言: 这是关于Spring的第三篇文章, 打算后续还会写入AOP 和Spring 事务管理相关的文章, 这么好的两个周末 都在看code了, 确实是有所收获, 现在就来记录一下. 在上一篇讲解Spr ...

  6. Atitit  从 RGB 到 HSL 或 HSV 的转换

    Atitit  从 RGB 到 HSL 或 HSV 的转换 1.1. 从 RGB 到 HSL 或 HSV 的转换公式与原理1 1.2. public static HSV RGB2HSV(Color ...

  7. 异步委托(APM)使用Func异步操作,处理耗时操作

    使用委托进行异步操作,处理一些耗时操作,防止主线程阻塞 使用例子: using System; using System.Collections.Generic; using System.Linq; ...

  8. tabs左右滚动

    $(function () { //IdivLeft小于0,说明左边还有菜单,菜单总数大于8 //IdivLeft等于0,说明菜单总数小于8 //IdivLeft大于0,说明右边还有菜单,菜单总数大于 ...

  9. CSS伪类与CSS伪元素的区别及由来

    关于两者的区别,其实是很古老的问题.但是时至今日,由于各种网络误传以及一些不负责任的书籍误笔,仍然有相当多的人将伪类与伪元素混为一谈,甚至不乏很多CSS老手.早些年刚入行的时候,我自己也被深深误导,因 ...

  10. 本机搭建zookeeper集群

    3个 clientPort分别设置为2181,2182,2083 server.1=127.0.0.1:2888:3888 server.2=127.0.0.2:2889:3889 server.3= ...