【问题标题】:Qt style, Windows vs Xubuntu (GTK+) - no border in QGropBoxQt 风格,Windows vs Xubuntu (GTK+) - QGropBox 中没有边框
【发布时间】:2016-05-15 02:21:49
【问题描述】:

我开始在 Xubuntu 中开发 Qt 应用程序,实际上我开始在 Windows 7 中开发它,现在我正在尝试迁移到 Linux。

问题是 Xubuntu 中的图形用户界面看起来不同,即 QGroupBox 周围没有边框。

如果我理解正确的话,似乎差异来自Qt 在不同平台上采用的不同风格(Qt 意味着看起来是原生的,无论平台如何)。

我已阅读 thisthis 并了解该问题可能与 GTK+ 有关,但仍然没有完全理解。正在做:

QApplication app(argc, argv);
app.setStyle("fusion");

有帮助,但问题仍然存在。

难道不能让 Windows 和 Xubuntu 中的 GUI 相同吗?

【问题讨论】:

    标签: c++ linux qt ubuntu qt5


    【解决方案1】:

    开始之前:Qt 在幕后使用原生 API,这意味着除了两种样式之外的所有样式都不可移植。这没关系,因为 Qt 意味着看起来是原生的,无论平台如何。你的 groupbox 在 Windows 背景下看起来很有趣,但对于 Xubuntu 用户来说,它看起来正常且正确。

    对于你的问题:不是你所希望的。两种样式完全跨平台:QWindowsStyle(Windows 经典外观,如 Win95-2000)和最近的QFusionStyle

    如果您希望您的程序在各个平台上看起来完全相同,则将两者都设置为使用 Fusion 会起作用。不幸的是,这会带走您的应用程序在 Windows 上的原生外观。

    【讨论】:

    • 一些样式键字符串(“windowsxp”、“windowsvista”、“gtk”和“macintosh”)显示在doc.qt.io/qt-5/qstylefactory.html。我可以要求一个类似于 Windows 7 的样式键字符串吗?
    • QWindowsVistaStyle 与 Vista 和所有更高版本的 MS 操作系统兼容。默认情况下使用它。
    • 我正在消化你回答的真相。我环顾了一些 XFCE 应用程序,试图找到与我正在使用的类似的 GUI 组件。我即将得出结论,我的设计(不)能力应该被考虑在内。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多