如何更改 QMainWindow 边框和标题栏的颜色?
How to change color of QMainWindow borders and title bar?
下面的 QMainWindow
使用 QSS 分配了 dark-gray background-color。
我还想更改边框的颜色和标题栏的颜色。
如何控制QMainWindow
边框和标题栏的外观?
我想知道如何更改它们的颜色以及如何控制边框宽度和 title-bar 的高度。
from PyQt4.QtCore import *
from PyQt4.QtGui import *
appStyle="""
QMainWindow{
background-color: darkgray;
}
"""
class GUI(QMainWindow):
def __init__(self):
super(GUI, self).__init__()
self.setStyleSheet(appStyle)
if __name__ == '__main__':
if not QApplication.instance(): app=QApplication([])
w=GUI()
w.setStyleSheet(appStyle)
w.show()
w.raise_()
sys.exit(app.exec_())
据我所知,您不能(在 Windows 上可能有一些特殊的 OS 依赖调用)修改 top-level 小部件的边框和 header(真实 window 在桌面上)在 Qt 中,因为这些是从操作系统提供的。
但是,您可以设置小部件 frameless
并为自己添加边框。
示例:
from PySide import QtGui, QtCore
app = QtGui.QApplication([])
app.setStyleSheet('QMainWindow{background-color: darkgray;border: 1px solid black;}')
w = QtGui.QMainWindow()
w.setWindowFlags(QtCore.Qt.FramelessWindowHint)
w.show()
app.exec_()
看起来像
你看到不幸的是通常 header 栏消失了,所以没有拖动,没有调整大小,没有关闭或最小化。那么这一切都必须自己实施。例如参见 [=12=].
这可以在 QT C++ 中通过检测 Windows 注册表中的当前系统主题并应用深色 Window 提示来实现。除此之外的深色样式可以使暗光 window 模式。
演示此内容的示例项目已在此处共享,如果它有助于适应
下面的 QMainWindow
使用 QSS 分配了 dark-gray background-color。
我还想更改边框的颜色和标题栏的颜色。
如何控制QMainWindow
边框和标题栏的外观?
我想知道如何更改它们的颜色以及如何控制边框宽度和 title-bar 的高度。
from PyQt4.QtCore import *
from PyQt4.QtGui import *
appStyle="""
QMainWindow{
background-color: darkgray;
}
"""
class GUI(QMainWindow):
def __init__(self):
super(GUI, self).__init__()
self.setStyleSheet(appStyle)
if __name__ == '__main__':
if not QApplication.instance(): app=QApplication([])
w=GUI()
w.setStyleSheet(appStyle)
w.show()
w.raise_()
sys.exit(app.exec_())
据我所知,您不能(在 Windows 上可能有一些特殊的 OS 依赖调用)修改 top-level 小部件的边框和 header(真实 window 在桌面上)在 Qt 中,因为这些是从操作系统提供的。
但是,您可以设置小部件 frameless
并为自己添加边框。
示例:
from PySide import QtGui, QtCore
app = QtGui.QApplication([])
app.setStyleSheet('QMainWindow{background-color: darkgray;border: 1px solid black;}')
w = QtGui.QMainWindow()
w.setWindowFlags(QtCore.Qt.FramelessWindowHint)
w.show()
app.exec_()
看起来像
你看到不幸的是通常 header 栏消失了,所以没有拖动,没有调整大小,没有关闭或最小化。那么这一切都必须自己实施。例如参见 [=12=].
这可以在 QT C++ 中通过检测 Windows 注册表中的当前系统主题并应用深色 Window 提示来实现。除此之外的深色样式可以使暗光 window 模式。
演示此内容的示例项目已在此处共享,如果它有助于适应