QPushButton Фокусирующее поведение - PullRequest
0 голосов
/ 12 мая 2018

При создании стандартного QPushButton ему предоставляется полный фокус, если в окне нет других виджетов.Тем не менее, даже если есть другие виджеты, после нажатия кнопки она остается сфокусированной.Вот изображение, демонстрирующее поведение:

blue glow on button

Если я нажму кнопку и вытащу мышь из кнопки, она также будет иметь этот фокус.Однако связанный с кнопкой метод не выполняется, и это предполагаемое поведение.В центре внимания нет.Он должен фокусироваться таким образом только при нажатии, и должен возвращаться в нормальное состояние, когда он больше не удерживается.Смотрите здесь:

unfocused

Я пытался это исправить, например, метод setFocus(False), метод setAutoFocus(), а такжеsetFocusPolicy(QtCore.Qt.NoFocus) метод.Это дало лишь небольшой успех.Да, кнопка сейчас не сфокусирована, но она никогда не фокусируется;следовательно "NoFocus".Вот как выглядит кнопка при нажатии, если у меня установлен параметр «NoFocus»:

unfocused button

По сути, я хочу, чтобы кнопка имела фокус толькопри нажатии, и я хочу, чтобы он потерял фокус после нажатия.По сути, чтобы вернуться к тому, как это выглядит на втором скриншоте.

Я использую Antergos Arch Linux с KDE Plasma, поэтому я надеюсь, что это не какая-то проблема библиотеки Qt.Я ничего не могу найти в Интернете, для PyQt5 или иным образом.

Спасибо.

Редактировать: Вот код для кнопки:

self.play_pause_button = QtWidgets.QPushButton()
self.play_pause_button.setIcon(self.style().standardIcon(QtWidgets.QStyle.SP_MediaPlay))

Редактировать 2: Вот полный пример кода

#!/usr/bin/python3.6

import sys

from PyQt5 import QtWidgets


if __name__ == '__main__':

    app = QtWidgets.QApplication(sys.argv)

    window = QtWidgets.QWidget()
    window.resize(640, 480)

    button = QtWidgets.QPushButton()
    button.setText('Push me!')

    layout = QtWidgets.QHBoxLayout()

    layout.addWidget(button)

    window.setLayout(layoutB)
    window.show()

    sys.exit(app.exec_())

А вот как выглядит пример в моей системе:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...