各位大蝦,請教兩個問題:1.QWidget類創建的視窗,能不能設定邊框屬性?比如說:把邊框設定成粗體的。2.在constructor中呼叫QWidget::setBackgroundMode()設定背景色模式,不管設定成什么,背景都是灰色的,沒有區別。 我試過PaletteBase ,PaletteDark ,PaletteText,PaletteMidlight等好多屬性,都是灰色的,我看檔案,應該會不同才對啊?沒有辦法,我只好用FixedColor屬性,然后呼叫QWidget::setPaletteForegroundColor()來加入背景色才成功,可是我只是想把背景色設定成白色,用PaletteBase為什么不行?
uj5u.com熱心網友回復:
背景設要用調色板,你可以看一下調色板那個類。我覺得這一點qt很誤匯入。有設定背景色的函式卻不起作用,非要用調色板來設定。uj5u.com熱心網友回復:
邊框問題,可以設定為無邊框的等不同風格的表單,你可以看WFlags這一項的不同設定值設定代碼如下:QColorGroup activColorGroup = lisboxPalette.active(); QColorGroup disableColorGroup = lisboxPalette.disabled(); QColorGroup inactivColorGroup = lisboxPalette.inactive(); activColorGroup.setColor(QColorGroup::Background, Qt::black); activColorGroup.setColor(QColorGroup::Foreground, Qt::red); activColorGroup.setColor(QColorGroup::Base, Qt::black); activColorGroup.setColor(QColorGroup::Text, Qt::blue); disableColorGroup.setColor(QColorGroup::Background, Qt::black); disableColorGroup.setColor(QColorGroup::Foreground, Qt::red); inactivColorGroup.setColor(QColorGroup::Background, Qt::black); inactivColorGroup.setColor(QColorGroup::Foreground, Qt::red); QPalette newPalette(activColorGroup, disableColorGroup, inactivColorGroup); this->setPalette(newPalette);當然你可以改其他的顏色uj5u.com熱心網友回復:
感謝roy_skyx ,背景色問題解決了。邊框問題還有一點:在QT::WidgetFlags中可以將表單設定成帶邊框的模式,但是卻沒有將邊框設定成粗體的選項。繼續郁悶中...uj5u.com熱心網友回復:
哪來的fixcolor !!!轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/28241.html
標籤:其他技術討論專區
