Qt应用程序以root身份运行时更改字体
Posted
技术标签:
【中文标题】Qt应用程序以root身份运行时更改字体【英文标题】:Qt application changes font when run as root 【发布时间】:2015-06-22 13:39:29 【问题描述】:我有一个简单的 Qt 应用程序(Qt 版本是 4.8.2)在 Debian Linux 上运行。当它以普通用户身份运行时,一切正常。当它以 root 身份运行时,应用字体不同,因此 UI 看起来很丑。我想它找不到一些样式表。我该如何解决这个问题?
【问题讨论】:
【参考方案1】:这是一个众所周知的问题,它会影响 debian 下的多个应用程序。不要尝试在您的 Qt 应用程序中解决此问题。
您有两个选择。我更喜欢第一个:
-
Set a specific theme for the root application
在应用程序中设置特定样式。我记得这种方法有很多问题。当时,根据样式,应用程序会崩溃。谨慎使用。
【讨论】:
【参考方案2】:我认为您需要在 root 模式下运行 qtconfig
应用程序,以便选择在 qt 应用程序在管理模式下运行时使用哪种样式。
【讨论】:
或者你可以设置qApp->setStyle()
。或者使用-style=<style>
命令行参数运行您的应用程序。
@Amartel 如果有人实际正确设置了 qtconfig,则会中断(即不一致)。
@rubenvb 第一个 - 是的(可能这正是需要的),第二个始终是可选的。以上是关于Qt应用程序以root身份运行时更改字体的主要内容,如果未能解决你的问题,请参考以下文章
更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小变得更大
在 Ubuntu 中以 root 用户身份启动 Qt 应用程序