2012-04-27 65 views
2

我使用的是最新版本的Qt,並注意到在Windows上,菜單以非常古老的方式呈現(類似於他們在其他跨平臺應用程序(例如Firefox)上的顯示方式)。我希望菜單渲染(顏色,漸變等)呈現更現代的外觀。是否可以皮膚或修改菜單在Qt中呈現的方式?是否可以更改Qt中頂級菜單的外觀?

回答

3

我不知道你使用的Qt的或Windows的版本,但我的Windows 7電腦使用Qt 4.8.1安裝上,默認的菜單看起來正常,像任何其他Windows 7菜單。

要更改菜單的外觀,你有兩大(簡單)選項:

  1. 使用QStyle將其更改爲不同的「原生」的外觀(使用QApplication::setStyle()QWidget::setStyle())。例如,你可以使它看起來像這樣的Windows XP中的菜單:

    fileMenu->setStyle(new QWindowsXPStyle); 
    
  2. 使用Qt style sheets定製你怎麼想的菜單呈現。例如:

    fileMenu->setStyleSheet("background-color: red;"); 
    
+0

好,但誰是負責刪除new'd風格的實例?那是在應用程序關閉時執行該操作的fileMenu嗎?或者你的答案是否會造成內存泄漏? – 2012-05-01 12:35:37

+0

@ 987S我不能絕對肯定,但是這是它是如何在兩者的文檔和Qt的書我讀過完成。所以,我99%肯定菜單將採取風格的所有權,並在適當的時候將其刪除。 – Anthony 2012-05-01 14:25:02

相關問題