Я хочу иметь только текст для чтения в QTableWidget
, поэтому я решил вставить QLabel
в каждую ячейку. К сожалению, я получаю следующий вид:не удалось установить текст в ячейках qtablewidget
Вот код, который я использую для этого:
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 :: показатели: устройство не имеет метрической информации
mytext
отображается в ячейке заголовка угла. Почему это происходит? Что я делаю неправильно и как это исправить?
Проверьте принятый ответ на этот вопрос: http://stackoverflow.com/questions/2574115/how-to-make-a-column-in-qtablewidget-read-only Я думаю, это может вам помочь –
Если вы думаете об использовании 'QLabel' в любом из представлений, вы делаете это неправильно. Представление уже поддерживает отображение текста и изображений так же, как 'QLabel'. Элемент атрибута задает поведение каждого элемента данных. –