Qt 表格小部件垂直和水平标题变得不可见

Posted

技术标签:

【中文标题】Qt 表格小部件垂直和水平标题变得不可见【英文标题】:Qt Table Widget Vertical & Horizontal Header Becoming Invisible 【发布时间】:2013-05-18 00:09:33 【问题描述】:

我在表单中添加了一个表格小部件,并将垂直和水平标题设置为在属性编辑器中可见。但是,它们有时在实际执行过程中是不可见的。如果我实际查看 UI 文件,它显示verticalHeaderVisible 和horizo​​ntalHeaderVisible 属性设置为false,即使这些属性在属性编辑器中设置为true。是否有其他属性与它们发生冲突?

属性编辑器:

结果:

用户界面文件:

【问题讨论】:

您必须通过在活动项目窗格中右键单击您的项目根文件夹(以 Bold 编写)并选择“运行 qmake”以使更改生效然后重新编译来运行 qmake你的项目完全。你试过这样做吗? 【参考方案1】:

您似乎受到this bug 的影响。有回应:

不会修复。保存时,Designer 正确查询 QHeaderView::isVisible() 在那个时候返回 false 虽然 由于某些 QWidget::isVisible(),(标题)小部件可见 异能。

因此,如果您的标题在您保存文件的那一刻变得不可见,则会记录“错误”值。我不知道它是否真的发生在你的 ui 文件中,但我认为最好不要依赖这种奇怪的行为。将这些行添加到您的表单类构造函数以使标题可见:

ui->setupUi(this); // automatically generated
ui->tableWidget->horizontalHeader()->setVisible(true);
ui->tableWidget->verticalHeader()->setVisible(true);

【讨论】:

“不会修复”在该用户看来不是正确的修复。用户希望他在 Designer 中设置的内容保持不变。

以上是关于Qt 表格小部件垂直和水平标题变得不可见的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Qt 中制作可展开/可折叠的部分小部件

如何在堆栈中垂直或水平居中小部件?

Qt:事件不可见小部件?

Tkinter 小部件上的垂直和水平滚动条

如何使 Gridstack.js 小部件垂直响应?

如何使Qt小部件可调整大小[重复]