1.對於QTabWidget中tab名字的變化。當其中只有一個&時,Qt Assistant中給出的解釋是:If the tab's label contains an ampersand, the letter following the ampersand is used as a shortcut for the tab, e.g. if the label is "Bro&wse" then Alt+W becomes a shortcut which will move the focus to this tab。所以要實現tab標題中帶&,則成對輸入即可:"&&"表示"&","&&&&"表示"&&"。
2.對於Qt中的窗口,在使用setParent(0)的時候需要注意的地方:
Linux下QDockWidget彈出來,不想讓原來的窗口為父窗口,設置了setParent(0),彈出來之後無法獲取當前窗口的焦點。因為調用了setParent(0),會移除這個焦點,並且會清楚Qt::Window標記位(只有QMainWind和QDialog會默認有這個flag),所以解決辦法是通過當前的dock_widget->setWindwowFlags(Qt::FramelessWindowHint),來設置其為window的flag。在實際做的時候,dock_widget是自己從QDockWidget派生出來的一個累,沒有使用window框,所以用這個標記位來設置。
很奇怪的是Windows不需要設置也是正常的。
3.關於模態窗口:
在使用QDialog時,若調用show(),則會讓當前窗口成為模態,並且block後面所有得窗口,若想前面窗口和後面窗口同步操作,則可以通過以下2種方法實現(本質上應該算一種):
1)qApp->processEvents();
2)QTimer::singleShot(200, view, SLOT(qApp->processEvents()));//方法2)是之前網上找到的
view->setWindowFlags(Qt::WindowStaysOnTopHint);
其中view為當前窗口。
具體的函數定義可以參考Qt使用手冊,推薦使用第一種方法,因為第二種是一個QTimer時間,要設置時間,這個時間是一個經驗值,不好控制。
Ubuntu 環境下Gtk與QT編譯環境安裝與配置 http://www.linuxidc.com/Linux/2013-08/88539.htm
Linux系統下QT環境搭建 http://www.linuxidc.com/Linux/2013-07/87576.htm
Ubuntu下QT控制台程序無法運行的解決方案以及XTerm的配置方法 http://www.linuxidc.com/Linux/2013-06/86244.htm
Ubuntu 10.04下QT4.7.4移植詳解 http://www.linuxidc.com/Linux/2013-01/77930.htm
Ubuntu 14.04下安裝部署Qt5開發環境 http://www.linuxidc.com/Linux/2014-05/101774.htm
Qt 的詳細介紹:請點這裡
Qt 的下載地址:請點這裡