• 4769阅读
  • 4回复

[提问]如何改变QTableWidget中复选框的大小? [复制链接]

上一主题 下一主题
离线夜雨触花
 

只看楼主 倒序阅读 楼主  发表于: 2017-10-31
我用的下面的方法在QTableWidget中插入复选框:
for(quint16 i = 1; i < rowCnt; ++i)
{
    QTableWidgetItem *checkBox = new QTableWidgetItem;
    checkBox->setCheckState(Qt::Unchecked);
    ui->table->setItem(i, 0, checkBox);
    ……
}
但是不知道如何改变复选框的大小,设置行高列宽无效果:
ui->table->verticalHeader()->setDefaultSectionSize(40);
ui->table->setColumnWidth(0, 40);
设置样式表尽管图片变了但大小依旧没变:
QTableWidget::indicator:unchecked {
    width: 40px;
    height: 40px;
    image: url(:/icon/unchecked.png);
}
QTableWidget::indicator:checked {
    width: 40px;
    height: 40px;
    image: url(:/icon/checked.png);
}

请问应该怎么做?


离线stlcours

只看该作者 1楼 发表于: 2017-10-31
估计只能用代理,自己画一个。
另外,我记得也可嵌入一个Widget呀。
离线夜雨触花

只看该作者 2楼 发表于: 2017-10-31
诶,自己试出来了,样式表应该是这样:
QTableWidget::indicator {
    width: 40px;
    height: 40px;
}
QTableWidget::indicator:unchecked {
    image: url(:/icon/unchecked.png);
}
QTableWidget::indicator:checked {
    image: url(:/icon/checked.png);
}
离线夜雨触花

只看该作者 3楼 发表于: 2017-10-31
回 stlcours 的帖子
stlcours:估计只能用代理,自己画一个。
另外,我记得也可嵌入一个Widget呀。 (2017-10-31 16:16) 

已经解决了,不过还是谢谢啦。嵌入Widget就比较复杂了,还是不用了,嘿嘿。
离线hailler

只看该作者 4楼 发表于: 2017-10-31
用了VIEW MODEL DELEGATE 模式后,你会放弃QTableWidget 的。
快速回复
限100 字节
 
上一个 下一个