我设法在从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)
答案 0 :(得分:1)
addText方法返回QGraphicsTextItem。这个类有一个setDefaultTextColor方法,可以让你改变文本的颜色。
或者,您可以创建自己的QGraphicsTextItem
实例,然后使用addItem将其添加到场景中。请注意,QGraphicsTextItem
类具有setHtml方法,可以让您更好地控制文本的格式。