Qt的复选框,单选按钮不会显示
系统: 红帽企业Linux 7.2 Qt Creator的4.1.0 的Qt 5.6.1Qt的复选框,单选按钮不会显示
所以,当我使用Qt Creator中建立一个GUI一切看起来都很好。但是,一旦我编译并运行复选框并单选按钮消失,按按钮看起来就像标签。
我已经使用样式表来修复使用边框和渐变的按钮,但我似乎无法弄清楚复选框或单选按钮。
#include <QApplication>
#include <QWidget>
#include <QCheckBox>
#include <QVBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget w;
QCheckBox* box = new QCheckBox();
box->setText("BLARG");
QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(box);
w.setLayout(layout);
w.show();
return a.exec();
}
[![minmal范例] [1] [1]
这似乎并没有被引起太多的问题还是我的谷歌福是弱,因为我无法找到的例子任何其他人有这个问题。那么,有人知道为什么会发生这种情况吗?是唯一的解决方案,用我自己的图像替换复选框和单选按钮使用样式表?我现在要这样做,但如果可能的话,宁愿以正确的方式做到这一点。
更新1: 只是因为我应该知道更好,我继续前进,并更新Qt到最新和最大的5.8.0。仍然有同样的问题。
更新2: 所以,事实证明,Qt造物主正在行动起来。当程序神秘地停止了构建,因为我没有在系统上安装Android NDK,我发现Qt的流氓安装存在于/ lib64中。理论上,它是针对一个版本进行编译,并试图与其他动态链接导致未定义的行为。
从Creator工具包中清除所有Qt版本的所有痕迹后,一切都像魅力一样。 Qt Creator的自动检测功能似乎只是一个比可靠的阴影还差的已知问题。我现在在我的工具箱中添加了一个新的故障排除步骤。
所以,事实证明,Qt造物主在起作用。当程序神秘地停止了构建,因为我没有在系统上安装Android NDK,我发现Qt的流氓安装存在于/ lib64中。理论上,它是针对一个版本进行编译,并试图与其他动态链接导致未定义的行为。
从Creator工具包中清除所有Qt版本的所有痕迹后,一切都像魅力一样。 Qt Creator的自动检测功能似乎只是一个比可靠的阴影还差的已知问题。我现在在我的工具箱中添加了一个新的故障排除步骤。
第2步:将其标记为答案。 :D – rbaleksandar
@rbaleksandar步骤1.5:等待强制性的2天。 :P – soulsabr
:D你说得对。总是忘记这一点。 – rbaleksandar
你的代码在我的机器上工作。 –
@ m.c。我现在也是。所以,事实证明,Qt Creator正在使用Qt的一个版本进行编译和编译,并针对另一个版本运行。一旦我发现系统上有一个流氓版本的Qt被我消灭了,安慰了Qt Creator直到它开始行事为止,一切都很顺利。 – soulsabr
我建议你只需发布这个答案,而不是编辑标题解决。 :) – rbaleksandar