QT对话框的样式不正确

问题描述 投票:0回答:1

我一直在尝试各种方法来创建需要从主应用程序中产生的新对话框。

我创建了一个设计师表单,没什么特别的,并在上面放置了一些库存小部件。一旦我终于能够从主应用程序正确启动它,我注意到这些小部件没有样式。按钮没有边框或浮雕,所有文本均为白色,按钮和LineEdit对象的背景色为灰色。用于启动对话框的代码如下:

    UpdateDialog dialog(NULL);
    dialog.setModal(true);
    dialog.exec();

我发现它可能是从父窗口小部件继承的,所以我在对话框对象的构造函数中将NULL作为父窗口传递给它,但它仍然发生。

我在网上找到了一个类似问题的答案,建议您通过为对话框设置一个基本上像这样的样式表来覆盖从父项继承的样式表:

    #objectName {}

但是这没有效果。

创建后应用于窗口小部件的样式似乎可以正常工作,好像我使用以下行一样,按钮上的文本颜色变为黑色:

    dialog->setStyleSheet("color: rgb(0,0,0)");

没有人知道是什么原因导致这种现象吗?如果有问题,我们将在Scientific Linux(RHEL 6)上使用Qt 5.6.1。

编辑:

这是对话框的图片。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9tUVhYYi5qcGcifQ==” alt =“无样式对话框”>

应该在标签下面有一个LineEdit,在它的右边有一个按钮,然后在LineEdit下还有两个按钮。不幸的是,图像质量无法让您看到它,但是应该在按钮处出现非常模糊的白色文本,因此它们在那里,只是没有样式。

EDIT:

这种样式似乎也适用于我从上面显示的更新对话框中生成的文件对话框。

我一直在尝试各种创建新对话框的方法,这些对话框需要从主应用程序中产生。我创建了一个设计师表单,没什么特别的,并在上面放置了一些库存小部件。 ...

c++ qt qt5
1个回答
0
投票

Qt does not have本身具有很强的视觉识别力。相反,它尝试在其所有目标平台上提供本机外观。所有操作系统都包含一些外观自定义功能,但是Linux在这方面是特殊的,因为没有像Windows和macOS中那样有一个唯一的用户界面,而是有多个。 Gnome和KDE是两个著名的Linux桌面(以及其他类似Unix的操作系统)。有些发行版默认安装Gnome,而有些发行版安装其他。大多数都允许安装两者,并且用户可以在登录屏幕或桌面配置设置中选择一个。

© www.soinside.com 2019 - 2024. All rights reserved.