首页 > Python GUI编程 阅读数:46

PyQt常用控件及用法详解

本节教程主要介绍 QT 中的常用控件及控件的用法。

1.QLabeI

QLabel 对象作为一个占位符,既可以显示不可编辑的文本或图片,也可以放置一个 GIF 动画,还可以用来提示标记为其他控件。纯文本、链接或富文本可以显示在标签上。QLabel 是界面中的标签类,它继承自 QFrame 类。

2.QLineEdit

QLineEdit 类是一个单行文本框控件,可以输入单行字符串。如果需要输入多行字符串,则使用 QTextEdit 类。

QLineEdit类中的常用信号如下:
  • selectionChanged:当信号选择改变时,这个信号会被发射;
  • textChanged:当修改文本内容时,这个信号会被发射;
  • editingFinished:当编辑文本结束时,这个信号会被发射。

3.QAbstractButton

QAbstractButton 是按钮类的基类,提供了按钮的通用性功能。QAbstractButton 类为抽象类,不能实例化,必须由其他的按钮类来继承,从而实现不同的功能、不同的表现形式。

常见的按钮类包括 QPushButton、QToolButton、QRadioButton 和 QCheckBox。这些按钮类均继承自 QAbstractButton 类,根据各自的使用场景,通过图形展现出来。

4.QPainter

QPainter 类提供了许多高度优化的函数去完成大部分的 GUI 绘制工作。它可以绘制从简单的线条到复杂的形状。在通常情况下,QPainter 在 widget 当中的 painter 事件中使用。

QPainter 类的核心功能是绘制,并且提供了最简单的绘制函数,如 drawPoint()、drawPoints()、drawLine()、drawRect()、drawWinFocusRect()、drawRoundRect()、drawEllipse()、drawArc()、drawPie()、drawChord()、drawLineSegments()、drawPolyline()、drawPolygon() 等。

5.QPen

QPen 类定义了如何用 QPainter 绘制直线和复杂图形的轮廓。该类提供了 style()、width()、brush()、capStyle()、joinStyle() 等方法。

6.QBrush

QBrush 类定义了 QPainter 类的填充模式,具有样式、颜色、渐变、纹理等属性。

7.QPixmap

QPixmap 类用于绘图设备的图像显示,它既可以作为一个 QPainterDevice 对象,也可以加载到一个控件中,通常是标签或按钮,用于在标签或按钮上显示图像。QPixmap 类可以读取的图像文件类型有 BMP、GIF、JPG 等。

QPixmap 类中的常用方法如下。
  • copy():从 QRect 对象复制到 QPixmap 对象。
  • fromImage():将 QImage 对象转换为 QPixmap 对象。
  • grabWidget():由给定的一个窗口小控件创建一张像素图。
  • grabWindow():在窗口中创建数据的像素图。
  • load():加载图像文件作为 QPixmap 对象。
  • save():将 QPixmap 对象保存为文件。
  • toImage():将 QPixmap 对象转换为 QImage 对象。

8.QCaIendar

QCalendar 是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默认选中的是当天的日期。也可以限定日历的日期范围。