PyQt5中的QDockWidget是一个浮动窗口,可以嵌入主窗口中,便于用户使用。在使用QDockWidget时,我们可以使用样式表对其进行自定义样式设置。
一、设置样式表的基本语法
在使用样式表时,一般我们会使用样式表的基本语法:选择器{属性:值;}。
例如,我们要将QDockWidget的背景颜色设置为浅灰色,我们可以这样写样式表:
QDockWidget {
background: lightgray;
}
其中,QDockWidget为选择器,background为属性,lightgray为值。这样,我们就能将QDockWidget的背景颜色设置为浅灰色。
二、设置QDockWidget样式表案例1
假设我们要设置QDockWidget的标题栏为粉红色,我们可以在样式表中为QDockWidget的标题栏(QDockWidget::title)设置背景颜色和文本颜色,代码如下:
dockStyleSheet = """
QDockWidget::title {
text-align: center;
background-color: pink;
color: white;
}
"""
dockWidget.setStyleSheet(dockStyleSheet)
在上述示例中,我们使用了QDockWidget::title作为选择器,设置了标题栏的文本居中,背景颜色为粉红色,文本颜色为白色。
三、设置QDockWidget样式表案例2
再举一个例子,我们要为QDockWidget设置边框,可以在样式表中为QDockWidget设置边框线的颜色和粗细,代码如下:
dockStyleSheet = """
QDockWidget {
border: 2px solid gray;
}
"""
dockWidget.setStyleSheet(dockStyleSheet)
在上述示例中,我们为QDockWidget设置了border属性,将边框颜色设置为灰色,粗细为2px。
通过以上两个例子,我们可以看到,使用样式表可以为QDockWidget设置各种各样的样式,使其更好的展现在用户面前,提高用户的体验感。
完整示例代码:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QDockWidget, QTextEdit
class MyMainWindow(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
# 创建QDockWidget
dockWidget = QDockWidget("dock widget", self)
# 创建QTextEdit
textEdit = QTextEdit(dockWidget)
# 设置QDockWidget的小部件
dockWidget.setWidget(textEdit)
# 添加QDockWidget到主窗口中
self.addDockWidget(1, dockWidget)
# 设置QDockWidget的样式表
dockStyleSheet = """
QDockWidget::title {
text-align: center;
background-color: pink;
color: white;
}
QDockWidget {
border: 2px solid gray;
}
"""
dockWidget.setStyleSheet(dockStyleSheet)
if __name__ == '__main__':
app = QApplication(sys.argv)
win = MyMainWindow()
win.show()
sys.exit(app.exec_())
在以上完整示例代码中,我们创建了一个MyMainWindow类,然后在其中创建了一个QDockWidget,并将其添加到主窗口中。同时,我们也设置了QDockWidget的样式表,为其设置了标题栏样式和边框样式。