Qt 学习(7)QTableWidget

今天接触了下QTableWidget,感觉用用起来挺方便的

首先创建了QTableWidget对象,然后设置列数和行数。接下来使用一个QStringList,把每一列的标题设置了一下。然后调用addItem()函数。这个函数前两个参数分别是行row和列col,然后第三个参数构建一个QTableWidgetItem对象,这样,Qt就会把这个对象放在第row行第col列的单元格里面。注意,这里的行和列都是从0开始的。

 

table->setColumnWidth(0,180);   //设置列宽

table->setSelectionMode(QAbstractItemView::SingleSelection);//设置选择模式,选择单行
table->setSelectionBehavior(QAbstractItemView::SelectRows); //设置选择行为,以行为单位

 

table->setShowGrid(false);  //隐藏边框

table->horizontalHeader()->setStretchLastSection(true);  //适应大小变化

 

如果你想有一个表,使用自己的数据模型,你应该使用QTableView,而不是这个类。因为这个类有一个约束就表的每一项必须是QTableWidget类的对象。

 

 

本来想获得光标所在行号的,想了很多方法,最多的是通过坐标QCursor::pos(),然后int row=musicTable->itemAt(QCursor::pos())->row()

或者row=musicTable->indexAt(QCursor::pos())->row();

结果row都是为-1,到现在都还不明白为什么

终于想出了另一个办法:

 connect(musicTable,SIGNAL(itemPressed(QTableWidgetItem*)),this,
            SLOT(itemPreeSlot(QTableWidgetItem*)));    //获得光标所在行号

自己写个槽itemPreeSlot(QTableWidgetItem*){ int row=item->row();}

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值