1、QFrame:是一个基类。可以选择使用,主要是用来控制边框样式。
框架形状和框架阴影、框架线宽:
组合效果图:即通过框架形状、框架阴影和框架的几个线宽组合(设置不同的参数)而成。
2、框架样式:即将以上进行组合或者按位或等操作。
frame.setFrameStyle(QFrame.Box | QFrame.Raised)
3、框架矩形:设置整个框架所占的范围。
import sys
from PyQt5.Qt import *
# 做成活动模块,修改方便
# 1、创建应用程序,可以传递参数给app,通过命令行输入参数
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QFrame功能测试")
window.resize(500, 500)
# 创建一个QFrame对象
frame = QFrame(window)
frame.resize(100, 100)
frame.move(100, 100)
frame.setStyleSheet("background-color:cyan;")
# 设置frame的外观形状
frame.setFrameShape(QFrame.Box)
# 凸起效果主要通过几条线营造出这样一个效果
frame.setFrameShadow(QFrame.Raised)
# 设置最外层的线宽
frame.setLineWidth(6)
# 设置中层线宽(灰色部分)
# 当整个形状为一个平面时,他是没有中线宽度的
frame.setMidLineWidth(12)
#frame.setFrameStyle(QFrame.Box | QFrame.Raised)
# 输出总线宽度
print(frame.frameWidth())
# 设置整个框架所占的范围
frame.setFrameRect(QRect(20, 20, 60, 60))
window.show()
sys.exit(app.exec_())
4、QAbstractScrollArea功能测试
他是一个抽象类,一般需要借助子类去实验他的功能。
设置水平方向和垂直方向的滚动条:
滚动条策略:
角落控件:(水平和垂直滚动条组成的右下角,该角落可以设置控件)
import sys
from PyQt5.Qt import *
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("QTextEdit父类功能的测试")
window.resize(500, 500)
# 创建对象,接收用户输入的多行文本
text = QTextEdit("功能测试", window)
# 设置垂直滚动条一直存在,可以使用鼠标滚轮滚动
text.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
# 水平滚动条设置
text.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
# 设置角落控件
btn = QPushButton(window)
btn.setIcon(QIcon("xxx.png"))
# 监听按钮的点击事件
btn.clicked.connect(lambda: print("xxxx"))
# 将按钮设置为角落控件
text.setCornerWidget(btn)
window.show()
sys.exit(app.exec_())