pyqt6 实现熊猫展览馆

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
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

下一篇:添加熊猫功能

相关文章
|
Python
Pyside6-第一篇-创建第一个窗口
Pyside6-第一篇-创建第一个窗口
1022 0
|
8月前
|
人工智能 文字识别 自然语言处理
熊猫 OCR 识别软件下载,支持截图 OCR、PDF 识别、多语言翻译的免费全能工具,熊猫OCR识别
本文介绍了几款实用的图文识别软件,包括熊猫OCR、Umi-OCR和天若OCR_本地版。熊猫OCR功能强大,支持多窗口操作、AI找图找色、OCR识别等;Umi-OCR免费且高效,具备截图OCR、批量处理等功能;天若OCR界面简洁,适合快速文字识别。文章还提供了下载链接及软件特点、界面展示等内容,便于用户根据需求选择合适的工具。
965 36
|
12月前
|
监控 容器
云效构建在线调试来啦!保留构建现场,高效排查构建问题
阿里云云效「构建在线调试」功能全新上线,助您一键开启 Debug 模式,在线高效调试,轻松解决构建难题!
450 104
|
10月前
|
人工智能 算法 程序员
揭秘 AI 编程工具的费用真相:2025 年开发者视角-优雅草卓伊凡
揭秘 AI 编程工具的费用真相:2025 年开发者视角-优雅草卓伊凡
643 1
揭秘 AI 编程工具的费用真相:2025 年开发者视角-优雅草卓伊凡
|
数据采集 传感器 监控
.NET 工控网关 轻量级组态软件
【10月更文挑战第10天】.NET 工控网关是一种基于 .NET 平台开发的设备,用于连接工业控制系统中的不同网络和设备,实现数据传输和协议转换。它能统一处理多种协议(如 Modbus、Profibus)的数据,便于后续系统处理。.NET 平台的优势包括开发效率高、跨平台能力强及安全性高,适用于工业物联网环境。此外,轻量级组态软件具备体积小、资源占用少的特点,可在资源受限的设备上运行,提供数据采集、监控、报警及数据分析等功能,简化工业自动化过程。
304 4
|
人工智能 IDE Java
MarsCode AI 一款免费的代码辅助工具,值得一试
MarsCode是由字节跳动旗下公司推出的AI编程工具,旨在提升编码效率和质量。它既是一个云端集成开发环境(IDE),也支持作为VS Code和JetBrains等IDE的智能扩展,提供代码补全、生成、优化等功能,并支持多种编程语言。通过AI助手,MarsCode帮助开发者减少重复劳动,提高代码质量和可维护性,同时支持跨平台使用,为开发者带来便捷高效的编程体验。
2284 1
|
存储 监控 Docker
如何限制docker使用的cpu,内存,存储
如何限制docker使用的cpu,内存,存储
|
机器学习/深度学习 Java API
FunAudioLLM 在教育领域的应用案例
【8月更文第28天】随着在线教育的兴起和技术的进步,高质量的语音合成技术变得越来越重要。FunAudioLLM(虚构名称)是一款先进的语音合成引擎,能够提供自然流畅的声音,尤其适用于教育领域,如语言学习、听力训练等。本文将详细介绍 FunAudioLLM 如何改善在线学习体验,并通过具体的代码示例展示其在教育领域的应用。
479 1
|
人工智能 自然语言处理 机器人
瓴羊亮相2024全球数字经济大会,并参与编纂《数字原生应用基于大模型的智能客服》标准
瓴羊亮相2024全球数字经济大会,并参与编纂《数字原生应用基于大模型的智能客服》标准
488 1
|
数据采集 存储 JavaScript
(2024)豆瓣电影TOP250爬虫详细讲解和代码
这是一个关于如何用Python爬取2024年豆瓣电影Top250的详细教程。教程涵盖了生成分页URL列表和解析页面以获取电影信息的函数。`getAllPageUrl()` 生成前10页的链接,而`getMoiveListByUrl()` 使用PyQuery解析HTML,提取电影标题、封面、评价数和评分。代码示例展示了测试这些函数的方法,输出包括电影详情的字典列表。
1491 3