我正在为现有的应用程序编写一个C ++插件,我需要使用Qt显示一个包含QTableWidget的窗口。
以下是我正在构建QTableWidget并填充单元格的工作代码的摘录。
tableWidget->setRowCount(0); // clear tablewidget
tableWidget->clearContents();
tableWidget->setColumnCount(5);
tableWidget->setRowCount(2);
QStringList header;
header << "Date" << "Owner" << "Type" << "Folder" << "Path";
tableWidget->verticalHeader()->setDefaultSectionSize(20);
tableWidget->setHorizontalHeaderLabels(header);
tableWidget->setItem(0,0,new QTableWidgetItem(QString("dog")));
tableWidget->setItem(0,1,new QTableWidgetItem(QString("cat")));
tableWidget->setItem(0,2,new QTableWidgetItem(QString("frog")));
tableWidget->setItem(1,0,new QTableWidgetItem(QString("shark")));
tableWidget->item(0,0)->setTextAlignment(Qt::AlignLeft);
tableWidget->item(0,1)->setTextAlignment(Qt::AlignLeft);
tableWidget->item(0,2)->setTextAlignment(Qt::AlignLeft);
tableWidget->resizeColumnsToContents();
它按预期工作,除了每个连续列内的数据比前一列更向右移动。当您调整列的大小并在右侧的“幻灯片”右侧列中查看数据时,这可能会被夸大。
以下是效果的两个屏幕截图(列调整大小之前和之后)。您可以看到“猫”和“青蛙”这两个词比正常情况更向右移动。
我做错了什么?我希望每个单元格文本都对齐到每列的左侧。
答案 0 :(得分:0)
问题的根源似乎与Windows显示设置有关。 我的笔记本电脑文本显示设置设置为&#34;中等 - 125%&#34; 当我把它重新设置为&#34;更小 - 100%&#34;然后问题就消失了。
如果用户应该使用125%的文本,我仍然希望我的程序正常工作,但至少现在我知道原因。
有人知道在使用125%文字时如何防止上述问题吗?