所以我有一个使用 PyQt5 gui 的图形工具,并让用户能够为节点着色和命名它们。但是您可以想象,根据您为节点着色的颜色,文本可能难以辨认。因此,如果有办法在 QFont 上获得黑色边框,那么我可以将文本设为白色并使其显示在任何内容上。鉴于框架,这可能吗?我也愿意接受任何解决能够阅读任何颜色文本的问题的解决方案。谢谢你。编辑:from PyQt5 import QtGui, QtWidgetsclass MyPushButton(QtWidgets.QPushButton): def __init__(self, text): super(MyPushButton, self).__init__() self.setFixedHeight(50) self.font = QtGui.QFont() self.setupFont() self.setFont(self.font) self.setStyleSheet('color: white; background-color: yellow') self.setText(text) self.clicked.connect(self.change_color) def change_color(self): color = QtWidgets.QColorDialog.getColor() if color.isValid(): self.setStyleSheet('color: white;background-color:' + color.name()) def setupFont(self): self.font.setFamily('Palatino') self.font.setPointSize(20) # some other font manipulationsif __name__ == '__main__': import sys app = QtWidgets.QApplication(sys.argv) widget = QtWidgets.QWidget() layout = QtWidgets.QVBoxLayout() push1 = MyPushButton('test text 1') layout.addWidget(push1) push2 = MyPushButton('test text 2') layout.addWidget(push2) widget.setLayout(layout) widget.show() sys.exit(app.exec_())我想:
添加回答
举报
0/150
提交
取消