Я новичок в pyqt.Я хочу избавиться от тени qmenu.Но когда я добавляю framelesswindowhint, меню работает некорректно.
код до реализации framelesswindowhint:
import sys
from PyQt5 import QtWidgets, QtCore, QtGui
class MainWindow(QtWidgets.QWidget):
def __init__(self):
super(MainWindow, self).__init__()
self.setMinimumSize(800, 400)
self.setStyleSheet(
"""
background-color:white;
"""
)
self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.mainlayout = QtWidgets.QVBoxLayout()
button = QtWidgets.QPushButton("my button")
filemenu = QtWidgets.QMenu(button)
#filemenu.setWindowFlags(QtCore.Qt.FramelessWindowHint)
filemenu.setObjectName("filemenu")
openaction = QtWidgets.QAction("open item", self)
filemenu.addAction(openaction)
button.setMenu(filemenu)
self.mainlayout.addWidget(button)
self.setLayout(self.mainlayout)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
# app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())
mw = MainWindow()
# mw.setWindowOpacity(0.95)
mw.show()
sys.exit(app.exec_())
вывод: (нажатие кнопки): ![enter image description here](https://i.stack.imgur.com/SZcvk.jpg)
после раскомментирования строки: (кнопка не нажата) ![enter image description here](https://i.stack.imgur.com/CxAYb.jpg)
(кнопка нажата) ![enter image description here](https://i.stack.imgur.com/2EIFr.jpg)