pyqt6 实现熊猫展览馆

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 本示例使用 PyQt6 实现了一个展示萌兰、福宝、金虎等大熊猫的界面。通过列表选择不同的大熊猫,界面会显示对应的大熊猫图片。代码包括界面布局、图片展示约束、信号和槽函数的连接,以及完整代码示例。

主题:利用pyqt6实现一个展示萌兰、福宝、金虎等大熊猫的展示案例。

image.gif 编辑

1 界面布局

本案例用到了列表的功能

        #定义列表
        listModel=QStringListModel()
        #列表数据
        self.list=['福宝','萌兰','金虎']
        #将列表转换列表模式
        listModel.setStringList(self.list)
        #列表展示
        listView=QListView()
        #将列表模式(数据)配置到展示对象里,就可以展示列表了
        listView.setModel(listModel)

image.gif

2 图片展示约束

        self.lb=QLabel()
        # 约束图片大小尺寸统一
        self.lb.setMaximumSize(480,340)
        self.lb.setPixmap(QPixmap("./images/xm.jpg"))
        self.lb.setScaledContents(True)

image.gif

约束之后图像大小都处于相同的宽高。

image.gif 编辑

3 信号和槽函数

#通过listView触发信号,调研clickedFunc槽函数
    listView.clicked.connect(self.clickedFunc)
    def clickedFunc(self, Index):
        # QMessageBox.information(self,'大熊猫','最爱的是:'+self.list[Index.row()])
        if self.list[Index.row()] == '福宝':
            self.lb.setPixmap(QPixmap("./images/fb.jpg"))
        elif self.list[Index.row()] == '萌兰':
            self.lb.setPixmap(QPixmap("./images/xm.jpg"))
        else:
            self.lb.setPixmap(QPixmap("./images/jh.jpg"))

image.gif

4 完整代码

# -*- coding:utf-8 -*-
"""
------------------------------------------------
File Name: 列表框.py
Description:
Author: lzq
date:2024-07-27 14:35
------------------------------------------------
"""
import sys
import PyQt6
from PyQt6.QtCore import Qt, QStringListModel
from PyQt6.QtGui import QPainter, QPixmap
from PyQt6.QtWidgets import QWidget, QTextEdit, QPushButton, QVBoxLayout, QApplication, QRadioButton, QHBoxLayout, \
    QLabel, QCheckBox, QListView, QMessageBox
class MyWidget(QWidget):
    def __init__(self, parent=None):
        super(MyWidget, self).__init__(parent)
        self.setWindowTitle("列表框QListView 测试")
        self.resize(500,350)
        listModel=QStringListModel()
        self.list=['福宝','萌兰','金虎']
        listModel.setStringList(self.list)
        listView=QListView()
        listView.setModel(listModel)
        listView.clicked.connect(self.clickedFunc)
        self.lb=QLabel()
        # 约束图片大小尺寸统一
        self.lb.setMaximumSize(480,340)
        self.lb.setPixmap(QPixmap("./images/xm.jpg"))
        self.lb.setScaledContents(True)
        layout=QVBoxLayout()
        layout.addWidget(self.lb)
        layout.addWidget(listView)
        self.setLayout(layout)
    def clickedFunc(self, Index):
        # QMessageBox.information(self,'大熊猫','最爱的是:'+self.list[Index.row()])
        if self.list[Index.row()] == '福宝':
            self.lb.setPixmap(QPixmap("./images/fb.jpg"))
        elif self.list[Index.row()] == '萌兰':
            self.lb.setPixmap(QPixmap("./images/xm.jpg"))
        else:
            self.lb.setPixmap(QPixmap("./images/jh.jpg"))
if __name__=='__main__':
    app = QApplication(sys.argv)
    w = MyWidget()
    w.show()
    sys.exit(app.exec())

image.gif

下一篇:添加熊猫功能

相关文章
|
API
【Qt 学习笔记】QWidget的windowOpacity属性 | cursor属性 | font属性
【Qt 学习笔记】QWidget的windowOpacity属性 | cursor属性 | font属性
967 0
|
Android开发 iOS开发 数据库
直播平台制作中的直播间礼物功能开发基本介绍
直播平台之所以能够吸引大量的用户流量,很大程度上受益于它独有的礼物打赏机制。而直播平台中的礼物系统也是平台和主播的重要收益来源。在实际的直播平台制作过程中,礼物系统常见的方案有哪几类呢?礼物又是如何在客户端实现发送的呢?
5139 0
|
10月前
|
人工智能 文字识别 自然语言处理
熊猫 OCR 识别软件下载,支持截图 OCR、PDF 识别、多语言翻译的免费全能工具,熊猫OCR识别
本文介绍了几款实用的图文识别软件,包括熊猫OCR、Umi-OCR和天若OCR_本地版。熊猫OCR功能强大,支持多窗口操作、AI找图找色、OCR识别等;Umi-OCR免费且高效,具备截图OCR、批量处理等功能;天若OCR界面简洁,适合快速文字识别。文章还提供了下载链接及软件特点、界面展示等内容,便于用户根据需求选择合适的工具。
1114 36
|
Python 开发工具
5分钟python:在PPT里做三联柱形图
5分钟python:在PPT里做三联柱形图
1574 0
|
IDE 编译器 API
VC++如何创建无CMD窗口控制台程序
VC++如何创建无CMD窗口控制台程序
1342 0
|
7月前
|
SQL 人工智能 数据可视化
高校迎新管理系统:基于 smardaten AI + 无代码开发实践
针对高校迎新痛点,基于smardaten无代码平台构建全流程数字化管理系统,集成信息采集、绿色通道、宿舍管理等七大模块,通过AI生成框架、可视化配置审批流与权限,实现高效、精准、可扩展的迎新服务,大幅提升管理效率与新生体验。
|
小程序 JavaScript 开发者
uniapp分包
uniapp分包
288 1
|
SQL Java 数据库连接
使用JDBC进行数据库操作:Java Web开发的数据库连接
【4月更文挑战第3天】Java Web开发中,JDBC是与数据库交互的关键,提供统一访问关系型数据库的规范。核心组件包括DriverManager、Connection、Statement和ResultSet。使用流程涉及加载驱动、建立连接、创建Statement、执行SQL及处理结果,最后关闭资源。最佳实践包括使用try-with-resources、PreparedStatement、事务管理等。在Web开发中,JDBC用于用户认证、数据持久化、检索和事务管理。虽然有ORM工具,但掌握JDBC基础仍然重要。
358 0
|
监控 容器
云效构建在线调试来啦!保留构建现场,高效排查构建问题
阿里云云效「构建在线调试」功能全新上线,助您一键开启 Debug 模式,在线高效调试,轻松解决构建难题!
484 103
|
数据库
如何解决逻辑删除is_del与数据库唯一约束冲突
如何解决逻辑删除is_del与数据库唯一约束冲突
571 0