Pyqt5使QSplitter手柄色彩鲜艳/易于识别

2024-06-26 15:03:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我想更改我的拆分器句柄在Pyqt5中的外观。在下面的代码中,将Self.WiGG1和Self.WiGG2视为任意两个小部件。使用设置样式表会导致错误: self.my\u splitter\u handle.setStyleSheet(“边框:3px蓝色”) AttributeError:“非类型”对象没有属性“setStyleSheet”

import sys
from PyQt5.QtCore import Qt
from PyQt5 import QtGui
from PyQt5.QtWidgets import QApplication, QWidget, QFrame, QLineEdit, QHBoxLayout, QSplitter


class MyMainWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.title = "PyQt5 Splitter"
        self.top = 200
        self.left = 500
        self.width = 400
        self.height = 300
        hbox = QHBoxLayout()
        self.widg_1 = QFrame()
        self.widg_1.setFrameShape(QFrame.StyledPanel)
        self.my_splitter = QSplitter(Qt.Horizontal)
        self.widg_2 = QLineEdit()
        self.my_splitter.addWidget(self.widg_1)
        self.my_splitter.addWidget(self.widg_2)
        self.my_splitter.setSizes([200, 200])
        hbox.addWidget(self.my_splitter)
        # Note: splitter handle 0 is always hidden and handle 1 is between the widgets 1 & 2
        self.my_splitter_handle = self.my_splitter.handle(1)
        self.my_splitter_handle.setStyleSheet("background: 3px blue;")
        self.setLayout(hbox)
        self.setWindowTitle(self.title)
        self.setGeometry(self.left, self.top, self.width, self.height)
        self.show()


App = QApplication(sys.argv)
window = MyMainWindow()
sys.exit(App.exec())

注意:我只想要一个像样的、外观突出的拆分器手柄,带有箭头或其他类似于图中所示的标记

Splitter handle


Tags: fromimportselfmysyspyqt5外观handle