本节来学习下QSpinBox的使用,上一节说了QSlider的使用,其实两个控件使用的方式很类似,那么还是一样通过简单的case来深入了解下QSpinBox的使用。
一.环境配置
1.python 3.7.8
可直接进入官网下载安装:Download Python | Python.org
2.QT Designer
官方下载路径:Qt Designer Download for Windows and Mac
二.实例演示
1.直接用Qt Designer 来设计界面的布局,如下:
该GUI设计,主要功能是做一个图片模糊转换,这边左边是选择我们本地图片的一个按钮(1打开)即可获取本地路径下的图片,获取图片后显示在如下图所述的左边图片,按钮2即可将该图片调整为模糊属性显示在右边图片处,通过调整QSpinBox控件的值(value)来实现图片模糊化程度。
2.QSpinBox属性编辑:
方法 | 描述 |
---|---|
setMinimum() | 设置QSpinBox的最小值 |
setMaximum() | 设置QSpinBox的最大值 |
setValue() | 设置QSpinBox的值 |
singleStep() | 设置QSpinBox的步长 |
3.图片获取:
def open(self): # 读取文件,点击 pushButton 触发
self.Path, _ = QFileDialog.getOpenFileName(self, "../images/", "*.mp4 *.avi *.mov")
print("Open: ", self.Path)
return
执行该代码会打开本地文件的图片、视频类型文件,选择其文件。
def saveSlot(self): # 保存图像文件
# 选择存储文件
fileName, tmp = QFileDialog.getSaveFileName(self, "Save Image", "../images/", '*.png; *.jpg; *.tif')
if self.img1.size == 1:
return
# OpenCV 写入图像文件
ret = cv.imwrite(fileName, self.img1)
if ret:
print(fileName, self.img.shape)
return
选择了其图片或视频路径,执行上述代码则是将目标图片或视频文件写入到UI上面。
4.执行QSpinBox触发,让图片变模糊
def getSpinBoxValue(self):
self.sigma = self.spinBox.value() # 修改模糊尺度
print("SpinBoxValue=", self.sigma)
ksize = (self.sigma, self.sigma)
blur = cv.GaussianBlur(self.img1, ksize, 0)
self.refreshShow(blur, self.label_2) # 刷新显示
执行上述代码,输出如下:
通过调整QSpinBox的值,图片逐渐模糊化。
三.总结
这边用了一个实例来演示QSpinBox的使用,当然该控件的用处远不及此,根据自己的实际开发需要,灵活运用就好了。
@Neng