自定义组件使用绘画工具创建,有两个基本方式:根据已有的创建或改进;通过自己绘图创建。
控件样式设置:在控件箱中选择的控件通常具有默认的样式和外观,开发者可以通过修改控件的样式表或者设置样式属性来自定义控件的外观。
学习资料:
pyqt5——自定义控件
PyQt5绘图技术
PyQt中提供了强大的2D绘图系统,可以使用相同的API在屏幕上和绘图设备上进行绘制,主要基于QPainter、QPainterDevice和QPainterEngine这3个类。QPainter执行绘图操作,QPainterDevice提供绘图设备,是一个二维空间的抽象;QPainterEngine提供一些接口。QPainter可以绘制一切简单的,从简单的一条直线到任何复杂的图形。QPainter类可以在一切继承QPainterDevice的子类上执行绘制操作。
QPainter一般在部件的绘图事件paintEvent()中进行绘制,首先创建QPainter对象,然后进行图形的绘制,最后记得销毁QPainter对象。当窗口程序需要升级或者重新绘制时,调用此成员函数。调用repaint()和update()后,调用paintEvent()函数。使用Qt的QPainter可以绘制出任何想要的图形。通常情况下,QPainter的绘制操作用于小部件(Widget)的painter事件。
QPainter相当于Qt中的画家,能够绘制各种基础图形,拥有绘图所需的画笔、画刷、字体。绘图常用的工具画笔类Qpen、画刷类QBrush和字体类QFont都继承自QPainter。Qpen用于绘制几何图形的边缘,由颜色、宽度、线风格等参数组成;QBrush用于填充几何图形的调色板,由颜色和填充风格组成;QFont用于文本绘制,由字体属性组成。
我们只需要在QWidget的子类中重写paintEvent方法来实现画图,即把绘图函数放在paintEvent中调用。