PyQt 自定义图形与交互:从基础到实战
1. 自定义 QWidget 基础
在 PyQt 中,自定义小部件的外观和行为有多种方式。最简单且常用的方法是设置现有小部件的属性。从 Qt 4.2 开始,样式表属性可用,通过使用 CSS 语法输入纯文本,能显著改变小部件的外观,比如设置必填小部件的背景颜色。
还有组合小部件的方式,它允许将两个或更多小部件布局在一起,并将结果视为单个小部件。这在频繁使用组合小部件时能节省时间,也为在主窗口样式应用程序的中央区域放置多个小部件提供了方法。有些程序员会将组成部件设为私有并转发其信号和槽,但很多情况下,将组成部件作为公共实例变量直接访问和连接更为简单。
若要创建与现有小部件不同的自定义小部件,或者想完全控制其外观和行为,可以子类化 QWidget。子类必须重新实现 paintEvent() 、 sizeHint() 和 minimumSizeHint() ,并且几乎总是需要重新实现 keyPressEvent() 和一些鼠标事件处理程序。
以下是一个绘制特定图形的示例代码:
painter.setBrush(QBrush(gradient))
painter.drawPolygon(
QPolygon([cx, cy, dx, dy, ex, ey, fx, fy]))
这里,通过设置画刷和绘制多边形,实现了图形的绘制。右侧部分(形状 (d, e, f, c))与左侧部分非常相似,
超级会员免费看
订阅专栏 解锁全文
1758

被折叠的 条评论
为什么被折叠?



