笔记二 富文本格式
关于设置文字自动换行以及问题:纯数字时自动换行不起作用。
# 设置文字为富文本格式,字体大小16pt
book_name_label = QLabel(
f"<span style='font-size:16pt'>{book_name}</span>"
)
# 设置自动换行
book_name_label.setWordWrap(True)
一些问题:如果文字是纯数字将不起作用。
笔记三 滚动布局
设置滚动布局:
area = QScrollArea()
widget_area = QWidget()
# 注1
area.setWidgetResizable(True)
layout_area = QVBoxLayout(widget_area)
layout_area.addStretch(1)
area.setWidget(widget_area)
注1:处理坑,子控件大小和area不一致,设置area的属性。
笔记四 分割线
- 分割线
# 设置一个分割线
frame = QFrame()
frame.setFrameShape(QFrame.Shape.HLine) # 设置为水平分割线
frame.setLineWidth(1) # 设置分割线宽度为1像素
layout_area.addWidget(frame)
- 分割用的矩形
可以用来填充界面。
# 创建QFrame
frame = QtWidgets.QFrame(self)
frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
frame.setFrameShadow(QtWidgets.QFrame.Raised)
# 设置尺寸策略为自动扩充
sizePolicy = QtWidgets.QSizePolicy(
QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding
)
frame.setSizePolicy(sizePolicy)
frame.setFrameShape(QtWidgets.QFrame.NoFrame)
# 设置QFrame背景为透明
frame.setAttribute(QtCore.Qt.WA_TranslucentBackground)
layout.addWidget(frame)
补充
本来以为这个系列可以出很多期,结果现在的项目很快也就写完了,PySide6还有很多不完善的地方,我又开始纠结犹豫,和《纸间书摘》的开发者聊了之后他推荐给我一套新的技术栈,这周终于有时间看了一下,基于compose的安卓开发比以往容易了许多,kotlin+compose终于变得优雅起来了,相比之下感觉比flutter更让人心动?
总之开始学习起来了。
Comments NOTHING