相关疑难解决方法(0)

PyQt5中带有框架的自定义标题栏

我正在为Windows / Linux开发开放源代码降价支持的最小笔记应用程序。我正在尝试删除标题栏并添加自己的按钮。我想要一个标题栏,只有两个自定义按钮,如图所示在此处输入图片说明

目前我有这个:

在此处输入图片说明

我试过修改窗口标志:

  • 没有窗口标志时,窗口既可调整大小又可移动。但是没有自定义按钮。
  • 使用self.setWindowFlags(QtCore.Qt.FramelessWindowHint),窗口没有边界,但是无法移动或调整窗口大小
  • 使用self.setWindowFlags(QtCore.Qt.CustomizeWindowHint),窗口可以调整大小,但不能移动,也不能摆脱窗口顶部的白色部分。

任何帮助表示赞赏。您可以在Github上找到该项目在这里

谢谢..

这是我的python代码:

from PyQt5 import QtCore, QtWidgets, QtWebEngineWidgets, uic
import sys
import os
import markdown2 # https://github.com/trentm/python-markdown2
from PyQt5.QtCore import QRect
from PyQt5.QtGui import QFont

simpleUiForm = uic.loadUiType("Simple.ui")[0]

class SimpleWindow(QtWidgets.QMainWindow, simpleUiForm):
    def __init__(self, parent=None):
        QtWidgets.QMainWindow.__init__(self, parent)
        self.setupUi(self)
        self.markdown = markdown2.Markdown()
        self.css = open(os.path.join("css", "default.css")).read()
        self.editNote.setPlainText("")
        #self.noteView = QtWebEngineWidgets.QWebEngineView(self)
        self.installEventFilter(self)
        self.displayNote.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
        #self.setWindowFlags(QtCore.Qt.FramelessWindowHint)

    def eventFilter(self, object, event):
        if event.type() == QtCore.QEvent.WindowActivate:
            print("widget window has gained focus")
            self.editNote.show() …
Run Code Online (Sandbox Code Playgroud)

python qt window pyqt pyqt5

1
推荐指数
2
解决办法
3545
查看次数

标签 统计

pyqt ×1

pyqt5 ×1

python ×1

qt ×1

window ×1