我在GNOME或運行應用程序KDE 操作系統一起使用時,檢測的問題。 節目我做QT4,而我在系統托盤look- 麻煩的感覺,所以我把它傳遞給KDE,但不是 宏這樣做。 PD:我用KDE和C/C。 我在網上搜索,我看到: Creating executable for Windows using Qt on Linux 但對於KDE?宏檢測KDE或GNOME在QT4
問候亞歷杭德羅·埃斯皮諾薩
我在GNOME或運行應用程序KDE 操作系統一起使用時,檢測的問題。 節目我做QT4,而我在系統托盤look- 麻煩的感覺,所以我把它傳遞給KDE,但不是 宏這樣做。 PD:我用KDE和C/C。 我在網上搜索,我看到: Creating executable for Windows using Qt on Linux 但對於KDE?宏檢測KDE或GNOME在QT4
問候亞歷杭德羅·埃斯皮諾薩
Qt不提供這種基於桌面環境定義的。如果您需要在編譯時瞭解桌面環境,那麼最好的辦法就是修改您的編譯系統,將必要的定義傳遞給編譯器。桌面環境可以通過不同的先決條件來完成,例如環境變量,應用程序的可用性,庫或標頭。選擇取決於你想要做什麼。
舉例來說,如果你把環境檢查路線,KDE定義KDE_FULL_SESSION變量,而GNOME有DESKTOP_SESSION變量設置爲「侏儒」。僅供參考,這就是Qt在運行時檢測DE的方式。
你可以當你執行從QProcess中的代碼,你可以閱讀QProcess中的輸出,並檢查什麼是QProcess中的輸出編寫腳本包含給定代碼現在
#!/bin/bash
echo $XDG_CURRENT_DESKTOP
使用bash的幫助下做到這一點。
{
QProcess chkdesk;
chkdesk.start("getenv"); //getenv is bash script
qDebug() << chkdesk.readAll();
}