Qt中QTableWidget的常用功能

目录

1. 在QTableWidget中插入QWiget

1.1 插入QPushButtton,并响应Button事件

1.2 插入QComboBox、QLineEdit等控件

2. 删除QTableWidget中的行

2.1 删除所有行

2.2 删除选中行

2.3 删除选中多行

3. QTableWidgetItem绑定指针数据

4. QTableWidget基本设置

4.1 基本属性设置

4.2 常用信号槽事件 


1. 在QTableWidget中插入QWiget

1.1 插入QPushButtton,并响应Button事件

QPushButton *pBtn = new QPushButton();
connect(pBtn, SIGNAL(clicked()), this, SLOT(OnBtnClicked()));
ui.tableWidget->setCellWidget(_row, _column, pBtn);

基于上面添加QPushButton的方式,获取button所在QTableWidget的行和列:

QPushButton *obj= (QPushButton*)sender();
int x = obj->frameGeometry().x();
int y = obj->frameGeometry().y();
QModelIndex index = ui.tableWidget->indexAt(QPoint(x, y));
int row = index.row();
int column = index.column();

注意:上面代码要放在button对应的槽函数中。在某些情况下,不能把button控件直接放到QTableWidget中,这个时候需要添加QWidget设置为button控件的父类,通过添加widget,再将button添加到tableWidget中。如果是这样的话,上面获取button所在行列的方法就不能使用了。那该如何做呢?其实很简单,只需要将button的位置替换为它的父类QWidget即可:

QPushButton *obj = (QPushButton*)sender();
QWidget *_widget = obj->parentWidget();
int x = _widget->frameGeometry().x();
int y = _widget->frameGeometry().y();

1.2 插入QComboBoxQLineEdit等控件

QTableWidget

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值