PySide6开发日记(二)
阅读时间: 2 min
笔记二 富文本格式
关于设置文字自动换行以及问题:纯数字时自动换行不起作用。
# 设置文字为富文本格式,字体大小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 更让人心动?
总之开始学习起来了。