Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Qt Android应用程序中使用全息主题_Android_C++_Qt_Themes_Qt5 - Fatal编程技术网

在Qt Android应用程序中使用全息主题

在Qt Android应用程序中使用全息主题,android,c++,qt,themes,qt5,Android,C++,Qt,Themes,Qt5,我有一个Qt Android应用程序,我想将其主题设置为Holo(即,黑暗变体,而不是Holo Light)。下面是Holo Dark主题(左)和我的应用程序现在的外观(右)之间的比较: 我使用Qt5.2.0,我使用Qt/C++(即不是QML),但是我对任何方式都感兴趣,不管QT版本还是QML还是C++。 编辑:我知道使用Ministro,它会为所有使用“本机”主题的小部件创建pixmaps,但是可以告诉Ministro使用哪个主题吗?编辑:从Qt5.4开始,现在可以通过添加安卓:主题=“@

我有一个Qt Android应用程序,我想将其主题设置为Holo(即,黑暗变体,而不是Holo Light)。下面是Holo Dark主题(左)和我的应用程序现在的外观(右)之间的比较:

<>我使用Qt5.2.0,我使用Qt/C++(即不是QML),但是我对任何方式都感兴趣,不管QT版本还是QML还是C++。
编辑:我知道使用Ministro,它会为所有使用“本机”主题的小部件创建pixmaps,但是可以告诉Ministro使用哪个主题吗?

编辑:从Qt5.4开始,现在可以通过添加
安卓:主题=“@android:style/theme.Holo”

在这里你可以从我朋友的系统中找到一些截图

非本地人

土生土长的

QtCreator

根据,需要将其设置到AndroidManifest.xml中:

要为应用程序的所有活动设置主题,请打开 并编辑标记以包含 android:具有样式名称的主题属性。例如:


如果您想要灯光主题(默认为黑暗主题),则必须编写以下内容:

 <application android:theme="@android:style/Theme.Holo.Light"/>

Bu使用Ministro,您的应用程序将获得对Ministro应用程序的依赖。我认为这是一个缺点,因为额外的依赖性将导致应用程序在启动时检查设备上是否安装了Ministro是或否。如果未安装Ministro,用户将被迫通过Android Play Store安装它

我没有使用Ministro,而是设置了一个自定义样式表,以显示全息主题

QApplication::setStyleSheet(常量QString&sheet)


GIT上有一个存储库,它模仿各种android主题。将holo.css文件修改为Qt样式表(.qss)文件应该不难。

Hi,经过长时间的停顿(lol),我终于回到了那个问题。这次我完全重写了它,明确地询问全息黑暗,以避免对“本土主题”的歧义。不管怎样,我会整理我的评论,因为现在讨论变得相当大。你不必感谢我,你就是那个回答的人:)不管怎样,因为我改变了关于明确设置主题的内容,我认为仅仅使用Ministro是不够的,因为它默认为Holo Light主题,对吗?我看到有一个
AndroidManifest.xml
,我可以在那里设置一些东西吗?我刚刚用Qt5.4进行了测试,现在它工作了。我需要将
android:theme=“@android:style/theme.Holo”
属性添加到
。如果我使用Qt5.2(相同的android清单)编译,它不会将主题更改为Holo Dark。所以也许他们在Qt5.4中修复了一些东西。我试着把主题放在全息线上,但没有用,主题保持不变,背景是白色的。我创建了一个AndroidManifest.xml文件,它看起来像这样-,然后尝试:那么你的意思是,目前还没有这样的主题,除非我将它从CSS移植到QSS?我该怎么做呢?我看到一个git回购,所以我下载了它,然后呢?我把文件放在哪里?我不知怎么地编译它们吗?我不知道QSS全息主题,但互联网是一个大地方,所以谁知道已经存在一些东西。QS和CSS非常相似,有关QtQapplication::样式表文件的更多信息,请参阅。您不需要编译CSS或QSS文件。只需将该文件与其他文件一样放在项目中,并使用setStyleSheet方法为整个应用程序加载它。好的,但是CSS文件似乎根本没有提到Qt的小部件。例如,如果要设置QLineEdit的样式,则需要有一行
QLineEdit{…}
。这个CSS根本没有提到Qt小部件类型。我认为这不是出于Qt的考虑。无论如何,我会尝试加载它,看看它是否能奇迹般地工作,但我对此表示怀疑。它不会加载,因为它与Qt无关,它涉及android css主题,因此您可以使用这些样式为Qt小部件创建自己的qss文件。我提到css文件是为了为另一种方法提供指导,但是您需要付出一些努力,使它真正适合您的具体情况。
 <application android:theme="@android:style/Theme.Holo"/>
 <application android:theme="@android:style/Theme.Holo.Light"/>