首页 > 技术文章 > 常用类

liming19680104 2019-02-21 12:50 原文

QPoint点类

 1 import sys
 2 from PyQt5.QtCore import Qt, QPoint
 3 from PyQt5.QtWidgets import QApplication, QWidget,QPushButton
 4 
 5 class Demo(QWidget):
 6     def __init__(self):
 7         super(Demo, self).__init__()
 8         self.resize(300, 300)
 9         self.point=QPoint(10,20)#实例化点对象。参数:坐标
10         self.point1 = QPoint(50, 80)
11         self.button=QPushButton('按钮',self)
12         self.button.move(200,270)
13         self.button.clicked.connect(self.func)
14 
15 
16     def func(self):
17         #print(self.point)  #PyQt5.QtCore.QPoint(10, 20)
18         self.point.setX(50)  #设置x坐标值
19         self.point.setY(80)  # 设置y坐标值
20         #print(self.point.x())  #返回x坐标值
21         #print(self.point.y())  # 返回y坐标值
22         #self.point += self.point1  #两个点的x值和y值分别进行计算
23         bl=self.point == self.point1   #两个点是否相等
24         print(self.point)
25         print(self.point1)
26         print(bl)
27 
28 
29 if __name__ == '__main__':
30     app = QApplication(sys.argv)
31     demo = Demo()
32     demo.show()
33     sys.exit(app.exec_())

 

QSize区域大小类

 1 import sys
 2 from PyQt5.QtCore import Qt,QSize
 3 from PyQt5.QtWidgets import QApplication, QWidget,QPushButton
 4 
 5 class Demo(QWidget):
 6     def __init__(self):
 7         super(Demo, self).__init__()
 8         self.resize(300, 300)
 9         self.size=QSize(10,20)#实例化区域大小对象。参数:宽、高
10         self.size1 = QSize(50, 60)
11         self.button=QPushButton('按钮',self)
12         self.button.move(200,270)
13         self.button.clicked.connect(self.func)
14 
15 
16     def func(self):
17         self.size.setWidth(100)  #设置宽度
18         self.size.setHeight(200)  #设置高度
19         #print(self.size.width())  #返回宽度
20         #print(self.size.height())  #返回高度
21         self.size += self.size1  #宽度、高度分别进行计算
22         print(self.size)  # PyQt5.QtCore.QSize(10, 20)
23 
24 if __name__ == '__main__':
25     app = QApplication(sys.argv)
26     demo = Demo()
27     demo.show()
28     sys.exit(app.exec_())

 

QRect 矩形区域类

方式一:是一个QPoint对象和一个QSize对象的组合,QPoint对象是它的左上角的坐标,QSize对象则是它的宽和高

方式二:由两个QPoint对象组成,矩形的左上角坐标和右下角坐标

例如:rect = QRect(self.begin_point, self.end_point)

 

 

 1 import sys
 2 from PyQt5.QtCore import Qt,QSize,QRect,QPoint
 3 from PyQt5.QtWidgets import QApplication, QWidget,QPushButton
 4 
 5 class Demo(QWidget):
 6     def __init__(self):
 7         super(Demo, self).__init__()
 8         self.resize(300, 300)
 9         #self.size=QSize(100,200)
10         #self.point = QPoint(50, 60)
11         #self.rect = QRect(self.point,self.size)  #实例化矩形对象
12         self.rect1=QRect(0,4,4,4)  #实例化矩形对象
13         #参数1 参数2 坐标
14         #参数3 参数4  宽和高
15         self.rect2 = QRect(1, 5, 5, 3)
16         self.rect3 = QRect()
17         self.button=QPushButton('按钮',self)
18         self.button.move(200,270)
19         self.button.clicked.connect(self.func)
20 
21 
22     def func(self):
23         print(self.rect1)
24         print(self.rect2)
25         #self.rect.setRect(10, 20, 500, 600)  #设置所有属性
26         #self.rect.moveLeft(300)  #设置x坐标
27         #self.rect.moveTop(80)  #设置y坐标
28         #self.rect.moveTopLeft(self.point)  #设置坐标.参数必须是QPoint
29         #self.rect.moveTo(10,20)  #设置坐标
30         #print(self.rect)  #PyQt5.QtCore.QRect(50, 60, 100, 200)
31         #print(self.rect.x())  #返回左上角的x坐标
32         #print(self.rect.y())  #返回左上角的y坐标
33         #print(self.rect.width())  #返回宽度
34         #print(self.rect.height())  #返回高度
35         
36 
37 
38 
39 if __name__ == '__main__':
40     app = QApplication(sys.argv)
41     demo = Demo()
42     demo.show()
43     sys.exit(app.exec_())

 

from PyQt5.QtCore import QRectF
rect=QRectF(-200,-100,400,200)
print(rect.left(),rect.right(),rect.top(),rect.topRight())
#rect.left()  返回矩形左边界坐标
#rect.right()  返回矩形右边界坐标
#rect.top()  返回矩形上边界坐标
#rect.bottom()  返回矩形下边界坐标
#rect.bottomLeft()   返回矩形左下角点的坐标
#rect.bottomRight()  返回矩形右下角点的坐标--QPointF(200.0, 100.0)
#rect.topLeft()   返回矩形左上角点的坐标
#rect.topRight()  返回矩形右上角点的坐标--QPointF(200.0, -100.0)

 

 

 

QPixmap图像

 1 import sys
 2 from PyQt5.QtWidgets import QWidget, QApplication,QPushButton
 3 from PyQt5.QtGui import QPixmap
 4 from PyQt5.QtCore import QSize
 5 
 6 class Example(QWidget):
 7     def __init__(self):
 8         super().__init__()
 9         self.resize(600,300)
10         self.size=QSize(600,300)
11         #self.pm=QPixmap()  #实例化空图像
12         self.pm=QPixmap(600,300) #实例化一个图像。参数:宽和高
13         #self.pm = QPixmap(self.size)  # 实例化一个图像.参数:QSize对象
14         #self.pm = QPixmap('C:/Users/ming/Desktop/1.jpg')  # 实例化一个图像.
15         self.button=QPushButton('按钮',self)
16         self.button.move(300,200)
17         self.button.clicked.connect(self.func)
18 
19     def func(self):
20         bl=self.pm.load('C:/Users/ming/Desktop/1.jpg')  #装载图像
21         #返回True 装载成功,返回False 装载失败
22         #装载之后self.pm的大小就是图像的大小
23         #s=self.pm.size()  #返回图像的分辨率(大小)。PyQt5.QtCore.QSize(600, 381)
24         #s=self.pm.width()  #返回图像的宽度。单位:像素
25         #s = self.pm.height() #返回图像的高度。单位:像素
26         s = self.pm.rect()  #返回图像的矩形区域   PyQt5.QtCore.QRect(0, 0, 600, 381)
27         #bl = self.pm.save('C:/Users/ming/Desktop/2.jpg',quality=100)  #保存图像
28         #quality[可选]:表示图像保存的质量,质量越大,越清晰,取值范围为0~100,-1表示采用默认值
29         bl=self.pm.isNull()  #判断是否空图像
30         print(s)
31         print(bl)
32 
33 if __name__ == "__main__":
34     app = QApplication(sys.argv)
35     ex = Example()
36     ex.show()
37     sys.exit(app.exec_())

 

self.pixmap=self.pixmap.scaled(self.plane.size())    把图片缩放到与size一样大

 

 

QIcon图标类

 1 import sys
 2 from PyQt5.QtWidgets import QWidget, QApplication,QPushButton
 3 from PyQt5.QtGui import QIcon,QPixmap
 4 
 5 class Example(QWidget):
 6     def __init__(self):
 7         super().__init__()
 8         self.resize(600,300)
 9         #self.icon=QIcon()  #构造一个空图像构成的图标
10         self.pm=QPixmap(r'C:\Users\ming\Desktop\1.jpg')
11         #self.icon = QIcon(self.pm)  #从QPixmap对象构造图标
12         self.icon=QIcon(r'C:\Users\ming\Desktop\f1.ico')  #从图像文件构造图标.文件并不是立刻加载,而是当图标要显示时才加载
13 
14         self.button=QPushButton('按钮',self)
15         self.button.move(300,200)
16         self.button.clicked.connect(self.func)
17 
18     def func(self):
19         self.setWindowIcon(self.icon)  #设置窗口图标.参数:QIcon对象
20         self.button.setIcon(self.icon)  #给按钮设置图标。参数:QIcon对象
21         bl=self.icon.isNull()  #判断是否为空图标
22         print(bl)
23 
24 
25 if __name__ == "__main__":
26     app = QApplication(sys.argv)
27     ex = Example()
28     ex.show()
29     sys.exit(app.exec_())

 

 

 

推荐阅读