日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT 实现滚屏显示多张漂亮美眉图片(可放大缩小)

發布時間:2023/12/14 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT 实现滚屏显示多张漂亮美眉图片(可放大缩小) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作為新手小白的一些分享。。。。。。。
其中一部分功能要求顯示多張圖片,如果圖片總高度超過工具窗口的高度就要有滾動條出現,實現滾屏的效果,網上這部分內容少之又少,我就把效果和代碼都貼出來供大家參考。

想看QT 實現滾屏顯示多張漂亮美眉片(可放大縮小),可以跳過第一種方式,直接看第二種方式。

我這里介紹兩種方式,首先一種簡單的方式,展示效果如下,實現QWidget的滾動條,在Qt Designer中,QScrollArea已經實現好的帶有滾動條的控件。

功能實現代碼如下,非常簡單。

import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import *class MainWindow(QMainWindow):def __init__(self,):super(QMainWindow,self).__init__()self.number = 0w = QWidget()self.setCentralWidget(w)self.topFiller = QWidget()self.topFiller.setMinimumSize(250, 2000)#######設置滾動條的尺寸lab1 = QLabel(self.topFiller)lab1.setPixmap(QPixmap('demo.jpg'))lab2 = QLabel(self.topFiller)lab2.setPixmap(QPixmap('demo.jpg'))lab2.move(0, 220)##創建一個滾動條self.scroll = QScrollArea()self.scroll.setWidget(self.topFiller)self.vbox = QVBoxLayout()self.vbox.addWidget(self.scroll)w.setLayout(self.vbox)self.statusBar().showMessage("底部信息欄")self.resize(600, 500)if __name__ == "__main__":app = QApplication(sys.argv)mainwindow = MainWindow()mainwindow.show()sys.exit(app.exec_())

第二種方式,用PyQt5高級界面控件QListWidget,先展示一下效果,實現顯示漂亮美眉,哈哈哈哈哈哈,是我本人(害羞):

UI界面代碼實現如下:

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'ui_ImageBrowserWidget1.ui' # # Created by: PyQt5 UI code generator 5.14.2 # # WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgets"被jiemian調用 顯示圖片的縮略圖 并且用滾動條"class Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(400, 574)self.sliderScale = QtWidgets.QSlider(Form)self.sliderScale.setGeometry(QtCore.QRect(20, 0, 361, 22))self.sliderScale.setOrientation(QtCore.Qt.Horizontal)self.sliderScale.setObjectName("sliderScale")self.listWidgetImages = QtWidgets.QListWidget(Form)self.listWidgetImages.setGeometry(QtCore.QRect(10, 30, 371, 501))self.listWidgetImages.setDragEnabled(True)self.listWidgetImages.setMovement(QtWidgets.QListView.Static)self.listWidgetImages.setFlow(QtWidgets.QListView.LeftToRight)self.listWidgetImages.setResizeMode(QtWidgets.QListView.Adjust)self.listWidgetImages.setViewMode(QtWidgets.QListView.IconMode)self.listWidgetImages.setModelColumn(0)self.listWidgetImages.setObjectName("listWidgetImages")self.pushButton = QtWidgets.QPushButton(Form)self.pushButton.setGeometry(QtCore.QRect(10, 540, 113, 32))self.pushButton.setObjectName("pushButton")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.pushButton.setText(_translate("Form", "show plmm"))

業務邏輯代碼如下,點擊"show plmm"按鈕,實現多張圖片的顯示,可放大縮小并滾動:

import sys import cv2from PyQt5.QtWidgets import QMainWindow, QApplication, QFileDialog from PyQt5.QtWidgets import QWidget, QListWidgetItem, QListView from PyQt5.QtGui import QImage, QPixmap, QIcon from PyQt5.QtCore import Qt, QSize, pyqtSignalfrom ui_ImageBrowserWidget1 import Ui_Form"顯示多張圖片的縮略圖 加滾動條"FrameIdxRole = Qt.UserRole + 1class MyMainForm(QMainWindow, Ui_Form):def __init__(self, parent=None):super(MyMainForm, self).__init__(parent)self.setupUi(self)self.pushButton.clicked.connect(self.display)def display(self):self.listWidgetImages.setViewMode(QListView.IconMode)self.listWidgetImages.setModelColumn(1)self.listWidgetImages.itemSelectionChanged.connect(self.onItemSelectionChanged)# sliderself.sliderScale.valueChanged.connect(self.onSliderPosChanged)for i in range(100):image = cv2.imread('plmm.jpg')self.add_image_thumbnail(image,"圖片",str(i))def add_image_thumbnail(self, image, frameIdx, name):self.listWidgetImages.itemSelectionChanged.disconnect(self.onItemSelectionChanged)height, width, channels = image.shapeprint(image.shape)bytes_per_line = width * channelsprint(bytes_per_line)qImage = QImage(image.data, width, height, bytes_per_line, QImage.Format_RGB888).rgbSwapped()pixmap = QPixmap.fromImage(qImage)item = QListWidgetItem(QIcon(pixmap), str(frameIdx) + ": " + name)item.setData(FrameIdxRole, frameIdx)self.listWidgetImages.addItem(item)# to bottom# self.listWidgetImages.scrollToBottom()self.listWidgetImages.setCurrentRow(self.listWidgetImages.count() - 1)print('\033[32;0m --- add image thumbnail: {}, {} -------'.format(frameIdx, name))self.listWidgetImages.itemSelectionChanged.connect(self.onItemSelectionChanged)# self.listWidgetImages.itdef resizeEvent(self, event):width = self.listWidgetImages.contentsRect().width()self.sliderScale.setMaximum(width)self.sliderScale.setValue(width - 40)def onItemSelectionChanged(self):passdef onSliderPosChanged(self, value):self.listWidgetImages.setIconSize(QSize(value, value))if __name__ == "__main__":# 固定的,PyQt5程序都需要QApplication對象。sys.argv是命令行參數列表,確保程序可以雙擊運行app = QApplication(sys.argv)# 初始化myWin = MyMainForm()# 將窗口控件顯示在屏幕上myWin.show()# 程序運行,sys.exit方法確保程序完整退出。sys.exit(app.exec_())

總結

以上是生活随笔為你收集整理的QT 实现滚屏显示多张漂亮美眉图片(可放大缩小)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产黑丝一区 | 国产精品成人久久电影 | 在线观看黄 | 蜜乳av一区二区 | 天堂av最新网址 | 哪里可以看免费毛片 | 国产专区精品 | 激情小说中文字幕 | 97桃色| 日日摸日日添日日碰9学生露脸 | 91天天| 66精品 | 一本大道久久 | 日日干夜| 免费观看一区二区三区 | 日韩欧美视频一区二区三区 | 国产av日韩一区二区三区精品 | 欧美久草视频 | 在线日韩中文字幕 | 国产5区| 免费网站在线观看人数在哪动漫 | 女生张开腿给男生桶 | 中文字幕亚洲精品在线 | 免费在线一级片 | 日本新japanese乱熟 | 麻豆系列| 波多野结衣一区二 | 国产精品激情 | 先锋影音av资源网 | 老司机久久| 久久婷婷av | 男男gay同性三级 | 免费裸体视频女性 | 亚洲是色 | 日韩99 | 91大神久久 | 亚洲国产tv | 国产又粗又大又长 | 91一级片 | 波多野结衣a级片 | 少妇看片 | 国产精品一二三区视频 | 亚洲无线视频 | 人人插插 | 91精彩视频 | 亚洲毛片a | 成人在线观看网址 | 国产嫩草影院久久久久 | 成年人小视频在线观看 | 91免费看黄 | 超碰caopor| 中文字幕23| 国产美女三级无套内谢 | 亚洲欧美精品aaaaaa片 | 黄色成人免费网站 | 久久888| 国产在线观看不卡 | 日韩欧美国产一区二区三区 | 久色88 | 边添小泬边狠狠躁视频 | 亚洲国产网址 | 暴力调教一区二区三区 | 成人乱人乱一区二区三区 | 国产人澡人澡澡澡人碰视频 | 亚洲av无码乱码国产麻豆 | 精品视频不卡 | 成人国产精品蜜柚视频 | 女人的毛片 | 欧美精品videos另类日本 | 在线观看a网站 | 一区二区三区黄 | 性大毛片视频 | xxxx日本高清 | 日韩经典在线观看 | 粉嫩精品久久99综合一区 | 国产91在线观看丝袜 | 性感美女被草 | 日韩黄色片子 | 国产盗摄一区二区三区在线 | 日韩 欧美 综合 | 九九人人| 国产露脸91国语对白 | 意大利少妇愉情理伦片 | 久久99久久99 | 一区二区日韩欧美 | 午夜无遮挡| 成人在线免费视频播放 | 成人午夜影院 | 在线观看国产日韩 | 影音先锋二区 | 国产盗摄一区二区 | 色哟哟国产精品 | 黑人操亚洲女人 | 一本久道久久 | 三级av网址 | 激情五月视频 | 无码人妻精品一区二区50 | 激情欧美综合 | 麻豆av一区二区三区在线观看 |