1

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

在此处输入图像描述

在此处输入图像描述

我不想单独更改按钮的字体大小,因为我在 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_()
4

1 回答 1

1

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

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

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

于 2019-06-26T04:16:39.300 回答