Как изменить размер шрифта контекстного меню PyQtGraph? - PullRequest
2 голосов
/ 26 июня 2019

Я пытаюсь изменить размер шрифта меню всякий раз, когда вы щелкаете правой кнопкой мыши по графику в PyQtGraph.Когда я изменяю размер шрифта всего приложения, используя setStyleSheet, он также меняет размер шрифта в меню.

До

enter image description here

После

enter image description here

Я не хочу индивидуально изменять размер шрифта кнопки, потому что у меня есть много других виджетов в графическом интерфейсе, поэтому я изменил 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 Ответ

1 голос
/ 26 июня 2019

С учетом предоставленного MWE (1) решение состоит в том, чтобы создать еще одно правило в QSS для установки шрифта QMenu и его дочерних виджетов:

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

(1) Для более сложного виджета мое решение может изменить другие части, поэтому нет общего решения, но оно зависит от самого виджета.

...