看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: 我在XP下使用QT Creator,但是我想要寫出來的介面 是像Vista一樣,使用了QApplication::setStyle(new QxxxStyle()); 之後,最外面的最大化和關閉視窗鈕等等都還是XP的Style 希望得到的正確結果:怎樣可以完全變成指定的Style 開發平台: Windows XP/QT Creator 1.3.0/QT 4.6 有問題的code: //QApplication::setStyle(new QCleanlooksStyle()); QApplication a(argc, argv); a.setStyle(new QCleanlooksStyle()); Consciousness Interface; //Interface.setStyle(new QCleanlooksStyle()); Interface.showMaximized(); return a.exec(); 補充說明:我想設定什麼Style應該沒差,就是外框沒辦法變成指定的樣子 圖片在這裡:http://picasaweb.google.com/sandwich/CRIVtK#5416475408687419026 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.186.76
legnaleurc:建構完 QApplication 實體後再對它做設定 12/18 15:12
worldxxi:我改成上面那樣,可是還是不行耶 外框還是沒有變化 是不 12/18 15:22
worldxxi:是我弄錯你的意思了 12/18 15:22
legnaleurc:我查了一下文件,Vista style 應該是 12/18 15:30
legnaleurc:QWindowsVistaStyle 吧?QClenalooksStyle 是 gnome 12/18 15:30
legnaleurc:style. 還有 Vista style 只能在 Vista 下使用 12/18 15:31
worldxxi:我不太會表達,就是說這樣設定應該外框要跟著我選的style 12/18 15:33
worldxxi:一起變化才對為什麼都沒有變,圖片在上面 12/18 15:34
worldxxi:而且我用QT Designer打開.ui來看 左上角明明有icon 12/18 15:36
worldxxi:可是我執行起來都沒有 Designer騙我 T_T 12/18 15:37
legnaleurc:well, 試試在 setStyle 後更新所有 widgets 吧 12/18 16:03
因為我一直不知道要怎麼更新所有的widgets,所以我另外開了一個主視窗是Widget的 int main(int argc, char *argv[]) { QApplication a(argc, argv); a.setStyle(new QCleanlooksStyle()); Widget w; w.show(); w.update(); return a.exec(); } 可是畫面還是一樣,外框沒有變化
legnaleurc:QApplication::allWidgets() 12/18 17:36
legnaleurc:不然就是該 style 沒有編進 Qt lib 吧 12/18 17:36
worldxxi:我的電腦因為沒有編譯的本錢,所以是直接下載官網Creator 12/18 18:07
worldxxi:1.3 要怎麼確定標題欄的style有沒有編到。我又失敗了QQ 12/18 18:08
int main(int argc, char *argv[]) { QApplication a(argc, argv); a.setStyle(new QCleanlooksStyle()); foreach (QWidget *widget, QApplication::allWidgets()) widget->update(); Widget w; w.show(); w.update(); return a.exec(); }
legnaleurc:http://bit.ly/4sqLy4 12/19 20:21
worldxxi:謝原來要自己做...不過L大你怎麼GOO到的,用什麼關鍵字啊 12/20 20:22
legnaleurc:qt window title bar style 12/20 23:57
※ 編輯: worldxxi 來自: 140.115.156.63 (01/24 15:51)