pyqt5的边框线条只设置一边
时间: 2023-10-05 10:04:30 浏览: 240
只有一条边的文本框
您可以使用`QFrame`类来创建一个具有边框线的窗口部件,并使用`setFrameShape()`方法来指定边框的形状。默认情况下,边框将显示在所有四个边上,但您可以使用`setFrameShadow()`方法来指定边框显示的位置。
以下是一个示例代码,演示如何只设置一个边的边框线:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QFrame, QVBoxLayout
from PyQt5.QtCore import Qt
import sys
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Border Example')
# 创建一个QFrame部件
frame = QFrame(self)
# 设置边框的形状为Box
frame.setFrameShape(QFrame.Box)
# 设置边框的阴影,这里指定只显示左边的边框线
frame.setFrameShadow(QFrame.Plain | QFrame.Shadow.Left)
# 创建一个布局并将QFrame添加到布局中
layout = QVBoxLayout()
layout.addWidget(frame)
self.setLayout(layout)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec_())
```
在这个示例中,我们创建了一个`QFrame`部件,并将其添加到窗口中。然后,我们使用`setFrameShape()`方法将边框的形状设置为`Box`,并使用`setFrameShadow()`方法指定只显示左边的边框线。最后,我们将`QFrame`添加到一个垂直布局中,并将布局设置为窗口的主布局。
运行代码后,您将看到一个带有左边框线的窗口。您可以根据需要调整边框的形状和阴影来满足您的需求。
阅读全文