2016-04-30 26 views
0

我是Qt和编程的新手。 我在QtCreator中创建了我的第一个GUI应用程序,当程序从QtCreator本身运行时,它使用当前的LXDE主题,我的Pi正在为所有按钮/滑块等运行,看起来不错。 然而,当我从LXterminal运行(我需要这样做是因为程序需要root权限),程序使用了一个看起来更加过时的不同主题。Raspberry Pi从LXTerminal而不是Qt Creator启动时使用不同的主题

有没有一种方法让程序从LXTerminal运行使用Pi的当前主题?

谢谢!

回答

0

你的程序不需要root权限。也许你的程序有一小部分是这样的,而这个小部分应该分离出来,例如一个suid-root可执行文件等,最有可能你并不需要root权限,但你要访问的设备节点权限的调整等

的root访问权限就是主题化不工作。根帐户未配置任何主题,因为它不应该是运行gui应用程序的交互式帐户。

+0

感谢您的回复。该程序需要通过使用需要root权限的WiringPi访问Raspberry Pi GPIO。实际上,我使用QApplication :: setStyle(“CleanLooks”)来使程序使用与Qt Designer中使用的名为“CleanLooks”的主题类似的主题,并且该主题适用于从具有根目录的终端运行的程序访问。不是理想的解决方案,但看起来比根帐户提供的标准主题好很多! – StuckInALoop

+0

@StuckInALoop使用WiringPi,您应该使用现代内核,并通过'/ dev/gpiomem'访问gpio,并设置权限,以便您的可执行文件可以访问该设备节点。这不需要root权限。大多数情况下,“需要”根的代码被破坏,这是不理解如何去做的结果。 –