如何更改PyQtGraph上下文菜单的字体大小?

时间:2019-06-26 01:54:12

标签: python pyqt pyqtgraph qtstylesheets

每当您右键单击PyQtGraph中的绘图时,我都试图更改菜单的字体大小。当我使用setStyleSheet更改整个应用程序的字体大小时,它也会更改菜单的字体大小。

之前

enter image description here

之后

enter image description here

我不想单独更改按钮的字体大小,因为我在GUI中还有许多其他小部件,因此我更改了app字体大小。但是它也会更改绘图菜单的字体大小。如何缩小菜单的字体大小?更改较小的字体大小或以某种方式使菜单较大以使单词不被截断都可以。

from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg
import sys

if __name__ == '__main__':

    app = QtGui.QApplication([])

    main_window = QtGui.QMainWindow()

    widget = QtGui.QWidget()
    main_layout = QtGui.QVBoxLayout()
    widget.setLayout(main_layout)
    main_window.setCentralWidget(widget)

    button = QtGui.QPushButton('hello')

    plot_widget = pg.PlotWidget()
    plot = plot_widget.plot()

    layout = QtGui.QHBoxLayout()
    layout.addWidget(button)
    layout.addWidget(plot_widget)

    main_layout.addLayout(layout)
    main_window.show()

    app.setStyleSheet('QWidget {font-size: 30px}')

    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()

1 个答案:

答案 0 :(得分:1)

考虑到您提供的(1)的MWE,解决方案是在QSS中创建另一个规则以设置QMenu及其子窗口小部件的字体:

app.setStyleSheet("""
    QWidget {font-size: 30px}
    QMenu {font-size: 15px}
    QMenu QWidget {font-size: 15px}
""")

(1)对于更复杂的小部件,我的解决方案可以修改其他部分,因此没有通用的解决方案,但这取决于小部件本身。