2016-04-30 44 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權限。大多數情況下,「需要」根的代碼被破壞,這是不理解如何去做的結果。 –