This question already has answers here:
How to make a column in QTableWidget read only?
(4个答案)
3年前关闭。
我想在
这是我用于此的代码:
我看到两个问题:
当我运行代码时,我收到很多以下警告:
QPaintDevice :: metrics:设备没有度量标准信息
(4个答案)
3年前关闭。
我想在
QTableWidget
中有一个只读文本,所以我决定在每个单元格中插入一个QLabel
。不幸的是,我得到以下外观:这是我用于此的代码:
for (int row = 1; row < ui->currentSetting1TableWidget->rowCount(); row++)
for (int col = 1; col < ui->currentSetting1TableWidget->colorCount(); col++) {
QLabel *label = new QLabel(ui->currentSetting1TableWidget);
label->setText("mytext");
ui->currentSetting1TableWidget->setCellWidget(row, col, label);
}
我看到两个问题:
当我运行代码时,我收到很多以下警告:
QPaintDevice :: metrics:设备没有度量标准信息
mytext
显示在角标题单元格中。为什么会这样呢?我在做什么错以及如何解决这个问题? 最佳答案
ui->currentSetting1TableWidget->colorCount()
您有代码完成辅助的错字。您想要columnCount()
。因为您为其他标签(colorCount()
必须大于columnCount()
)指定了错误的放置位置,所以它们被分配给坐标(0,0)或非常接近的标签。
您还从row = 1
进行迭代,但是从0开始对行进行索引,这就是为什么第一行没有标签的原因。由于复选框的存在,跳过第一列并从1
进行迭代很有意义。
关于c++ - 无法在qtablewidget单元格中设置文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39884663/
10-11 23:11