addText()更改QGraphicsView中的文本颜色

时间:2014-12-22 23:33:20

标签: python python-2.7 pyqt4 qgraphicsview

我设法在从showGui.UI导入的QGraphicsView中创建一个垂直文本标签。一切都是我想要的,除了我无法改变文字颜色。 setStyleSheet不适用于QGraphicsViews。我用QPainter做了另一次尝试,但我无法正确地或在我的图形视图中进行漫游。我发现的所有文档都是用C ++编写的,这让我感到很困惑。我想补充一下:

  self.trans_graphicsView_cat.drawForeground(QPainter(setPen(QtGui.QColor(168, 34, 3)))

进入createScene函数会做到但我还没能破解它。

我的代码:

class MainDialog(QtGui.QMainWindow, showGui.Ui_MainWindow):
    dbPath = appDataPath + "barter.db"
    dbConn = sqlite3.connect(dbPath)
    dbConn.text_factory = str



def __init__(self, parent=None):
    super(MainDialog, self).__init__(parent)
    self.setupUi(self)

    self.text = self.tr("Categories")
    self.createScene()

def createScene(self):
    scene = QtGui.QGraphicsScene()
    self.trans_graphicsView_cat.setScene(scene)
    item = scene.addText(self.text, QtGui.QFont('Arial Black', 15, QtGui.QFont.Light))
    item.rotate(270)

1 个答案:

答案 0 :(得分:1)

addText方法返回QGraphicsTextItem。这个类有一个setDefaultTextColor方法,可以让你改变文本的颜色。

或者,您可以创建自己的QGraphicsTextItem实例,然后使用addItem将其添加到场景中。请注意,QGraphicsTextItem类具有setHtml方法,可以让您更好地控制文本的格式。