我已添加到我的QGraphicsScene
a QGraphicsSimpleTextItem
,但只是一個簡單的文本是不可讀的當前背景。因此,我想設置QGraphicsSimpleTextItem
的背景顏色,但是......沒有這種方法。什麼是最簡單的解決方案?如何爲QGraphicsSimpleTextItem(Qt C++)設置背景?
0
A
回答
3
看來,最簡單的解決方案是使用QGraphicsTextItem
,而不是QGraphicsSimpleTextIem
,並呼籲setHtml()
在構造函數中,例如:
this->setHtml(QString("<div style='background-color: #ffff00;'>") + text + "</div>");
-1
下面介紹如何訪問背景顏色。
QPalette currentPalette = myGraphicScene.palette();
// Set a new color for the background, use QPalette::Window
// as QPalette::Background is obsolete.
currentPalette.setColor(QPalette::Window, Qt::red);
// Set the palette.
myGraphicScene.setPalette(currentPalette);
+0
我想改變QGraphicsSimpleTextItem的背景,而不是整個場景。 – 2012-10-11 15:36:40
2
要改變你的整個場景的背景:
myScene->setBackgroundBrush(Qt::red);
或者,如果你想改變只是你的文本項目的背景下,你可能要繼承QGraphicsSimpleTextItem
和覆蓋paint()
方法。
class MyTextItem : public QGraphicsSimpleTextIem {
public:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=0)
{
painter->setBrush(Qt::red);
painter->drawRect(boundingRect());
QGraphicsSimpleTextItem::paint(painter, option, widget);
}
相關問題
- 1. QT設置窗口背景
- 2. Qt C++ Video作爲背景
- 3. Qt:如何設置QPushButton的背景顏色爲系統顏色?
- 4. Qt Creator,如何設置圖像作爲背景圖片
- 5. C++ Qt QGraphicsWidget背景
- 6. Qt設置QLineEdit的背景顏色
- 7. 在qt中設置背景顏色
- 8. 只設置MainWindow的背景色Qt
- 9. 將背景設置爲背景
- 10. 如何NSGradient設置爲NSWindow背景
- 11. 如何爲黑莓設置背景
- 12. 如何爲背景設置動畫?
- 13. 如何爲NSTableCellView設置背景顏色?
- 14. 如何爲Android設置背景圖片?
- 15. 如何爲IME設置背景圖片?
- 16. 如何將div設置爲背景?
- 17. 如何將背景設置爲Android Gridview?
- 18. 如何爲linearlyout設置圖像背景?
- 19. 如何將js設置爲背景?
- 20. 如何爲BottomBar設置背景顏色?
- 21. UIPopoverController,如何爲popover設置背景?
- 22. 如何爲ActionBar設置背景
- 23. 如何爲DataGrid設置透明背景?
- 24. 如何設置ActionBar背景
- 25. 如何設置ListView背景?
- 26. 如何設置背景?
- 27. 如何設置ViewBox背景?
- 28. 2背景上的身體:如何設置高度爲背景
- 29. Qt/C++ - 設置禁用按鈕的背景?
- 30. 如何在qt中設置qml gridview的背景
你是不是想改變文本項目或背景你的整個場景? – Chris 2012-07-26 14:53:03
文本項目的背景。 – 2012-08-04 11:05:57