2012-11-16 56 views
3

我使用一個使用QPalette :: Link和QPalette :: LinkVisited顏色作爲窗口小部件背景和邊框顏色的庫。 我想用樣式表更改這些顏色。如何在樣式表的幫助下設置Link和LinkVisited的顏色?Qt樣式表,如何設置QPalette :: Link和QPlatte :: LinkVisited的顏色

我已閱讀,該qt不支持鏈接的LinkVisited選項。但在我的情況下,這兩種顏色不是用於鏈接,而是用於小部件的某些部分。

我想使用樣式表而不是設置QPalette的顏色。但似乎不可能用樣式表設置顏色。這是真的嗎?

我想爲Widget設置顏色。我可以使用此代碼:
QPalette p;
p.setColor(QPalette::Link, QColor(0,255,0));
p.setColor(QPalette::LinkVisited, QColor(0, 255, 0));
pWidget->setPalette(p);

但我想這樣做有一個樣式表。例如這樣的事情:
QWidget { link-color: green; link-visited-color: green;}

+0

您是否想設置需要樣式的QPallette或QWidget的顏色,在以後的情況下,您可以通過樣式表爲您的widget確定設置顏色?需要更多信息 – warunanc

+1

我已經添加了更多解釋。 – Funt

回答

0

您可以進行如下設置你的widget的background-color & color屬性,忘記了QPallette

QWidget#yourWidgetName 
{ 
    background-color: #ccc; 
    color: #1c1c1c; 
} 

閱讀documentation AZ,它擁有所有的智慧,你會在處理QT樣式表時需要

設置link-color & link-visited-color a但樣式表級別是不可能的。

+0

謝謝!是的,但我怎樣才能用樣式表設置Link和LinkVisited的顏色? – Funt

+1

其實,我發現了一個類似的問題:http://stackoverflow.com/questions/5497799/how-do-i-customise-the-appearance-of-links-in-qlabels-using-style-sheets[link] 答案是:「這是不可能的」:) – Funt

+1

我也認爲,這是不可能的 – warunanc

-1

這是錯誤的地方來設置它。鏈接是文檔的一部分,而不是瀏覽器,QWidgets是或多或少的瀏覽器。

+1

QWidgets不是瀏覽器,甚至從很遠的角度來看。 Qwidgets沒有內容文件。 –

0

和你一樣,我找不到使用樣式表或QPalette的正確方法。

但是,我需要控制顏色,我用這種方法,設置<span>內部的<a>控制顏色。

QLabel().setText('<a href="..link"><span style="color:white;">something</span>')