入门 PyQt6 看过来(项目)26 在线购物-主页面

功能导航页面很简单,就几个按钮功能。效果如下图:

 1 主界面

包含 “商品选购”、”下单结算“、”销售分析“四个按钮以及“功能导航”标题。

2 工程目录

首先先创建工程目录及子目录:

3 代码

主窗口文件为Main.py,其实现代码如下:

# -*- coding:utf-8 -*-
"""
------------------------------------------------
File Name: Main.py
Description:
Author: lzq
date:2024-08-07 08:32
------------------------------------------------
"""
import sysimport shop
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QIcon, QPalette, QBrush, QPixmap
from PyQt6.QtWidgets import QApplicationfrom pyqt6Learn.myNetShop.analysis.SaleAnalysis import SaleWindow
from pyqt6Learn.myNetShop.shop.ConfirmShop import CfmWindow
from pyqt6Learn.myNetShop.shop.PreShop import PreWindow
from ui.Main_ui import Ui_mainWindow
import analysisclass MainWindow(Ui_mainWindow):def __init__(self):super(MainWindow,self).__init__()self.setupUi(self)self.initUi()def initUi(self):self.setGeometry(300,100,800,550)# 设置窗口图标self.setWindowIcon(QIcon('image/netshop.png'))# 设置窗口为固定大小self.setWindowFlag(Qt.WindowType.MSWindowsFixedSizeDialogHint)bgPalette=QPalette()bgPalette.setBrush(self.backgroundRole(), QBrush(QPixmap('image/bg.jpg')))#设置窗口背景图片self.setPalette(bgPalette)#界面按钮单击信号关联函数self.pbPre.clicked.connect(self.naviPreShop)self.pbCfm.clicked.connect(self.naviConfirmShop)self.pbSale.clicked.connect(self.naviSaleAnalysis)def naviPreShop(self):print("商品选购")self.winPre=PreWindow()#进入商品选购窗口self.winPre.show()def naviConfirmShop(self):self.winConfirm = CfmWindow()# 进入商品选购窗口self.winConfirm.show()def naviSaleAnalysis(self):self.winSaleAnalysis=SaleWindow()#进入商品选购窗口self.winSaleAnalysis.show()if __name__=='__main__':app=QApplication(sys.argv)mainwindow=MainWindow()mainwindow.show()sys.exit(app.exec())

其中的主窗口UI设计我们放到了ui目录下命名为:ui.Main_ui

4 设计

通过QDesigner.exe设计:

其中每一项命名如下:

搞好之后,直接在Main里通过下列代码方式引入:

from ui.Main_ui import Ui_mainWindow

最后,通过自定义的方式,设置一些信号和槽函数的绑定

	def initUi(self):self.setGeometry(300,100,800,550)# 设置窗口图标self.setWindowIcon(QIcon('image/netshop.png'))# 设置窗口为固定大小self.setWindowFlag(Qt.WindowType.MSWindowsFixedSizeDialogHint)bgPalette=QPalette()bgPalette.setBrush(self.backgroundRole(), QBrush(QPixmap('image/bg.jpg')))#设置窗口背景图片self.setPalette(bgPalette)#界面按钮单击信号关联函数self.pbPre.clicked.connect(self.naviPreShop)self.pbCfm.clicked.connect(self.naviConfirmShop)self.pbSale.clicked.connect(self.naviSaleAnalysis)

最后我们通过三个按钮,实现三个槽函数:

 	def naviPreShop(self):print("商品选购")self.winPre=PreWindow()#进入商品选购窗口self.winPre.show()def naviConfirmShop(self):print("下单结算")self.winConfirm = CfmWindow()# 进入商品选购窗口self.winConfirm.show()def naviSaleAnalysis(self):print("数据分析")self.winSaleAnalysis=SaleWindow()#进入商品选购窗口self.winSaleAnalysis.show()

这样这个主页面布局就完成了。


本文至此结束,喜欢点赞关注,您的关注和点赞是路卿进步的动力哦!老Baby们!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/397438.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字体识别验证码的介绍!

字体识别验证码 ​是一种安全机制,‌通过要求用户识别特定字体来验证用户的身份或防止自动化攻击。‌这种验证码通常包含一些经过特殊设计的字符,‌需要用户根据这些字符的特定样式(‌如字体、‌字形等)‌来进行识别和输入。‌字…

【日常开发】 java返回ECharts数据结构封装

java返回ECharts数据结构封装 一、前端页面示例图如下: 二、准备测试数据: 三、后端 格式封装代码: 四、最终结果: 🎈边走、边悟🎈迟早会好 一、前端页面示例图如下: 二、准备测试数据&am…

LVS实战演练

目录 一.LVS简介 <1>.工作原理 <2>.相关术语 <3>.lvs集群的常用转发类型 二.部署NAT模式集群实验 <1>.实验环境 1.调度器 2.真实服务器 3.客户端 <2>.实验配置 1.VS中启用内核路由器功能 2.RS装上http服务 3.VS安装ipvsadm软件 4.…

删掉Elasticsearch6.x 的 .security-6索引会怎么样?

背景 玩了下 Elasticsearch 的认证&#xff0c;启动 ES 并添加认证后&#xff0c;看到索引列表额外多了一个 .security-6 。以为是没用的&#xff0c;手欠就给删掉了&#xff0c;然后 Elasticsearch 就访问不了了。 只好再重新部署&#xff0c;再看索引内容&#xff0c;发现这…

VMWare虚拟机磁盘扩容

文章目录 环境背景虚拟机磁盘扩容配置参考 环境 VMWare Workstation 17 ProRHEL 9.4 背景 一个RHEL虚拟机&#xff0c;其 /home 目录大小为30GB。 [ding192 ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 4.0M 0…

Multisim 用LM358 运放模拟线性稳压器 - 运放输出饱和 - 前馈电容

就是拿运放搭一个可调的LDO 稳压器&#xff0c;类似下面这个功能框图里的感觉。本来应该非常简单&#xff0c;没什么好说的&#xff0c;没想到遇到了两个问题。 原理 - 理想运放 我用PNP 三极管Q2 作为输出&#xff0c;运放输出电压升高时&#xff0c;流过PNP 三极管BE 的电流变…

关于解决Qt配置clang format插件后打开Qt时报缺少pythonxxx.dll的问题

前言 原本安装过程中没有出现任何问题&#xff0c;但是当我退出Qt&#xff0c;再次打开Qt时报 虽然也不影响正常编程&#xff0c;但是架不住每次打开它都提示&#xff0c;于是准备探究下这个问题&#xff0c;并将其解决掉 第一步&#xff1a; 在官网下载:clang format&…

ubuntu20.04安装k8s和kubesphere

前提 已经安装docker 机器使用小写的hostname hostname建议你的机器把hostname改成小写&#xff0c;不然您会踩坑 官网的教程已经足够详实&#xff0c;推荐看官网教程 https://kubesphere.io/docs/v3.4/quick-start/all-in-one-on-linux/ 安装依赖 sudo apt install connt…

C++——多态

目录 前言&#xff1a;需要声明的&#xff0c;本节课件中的代码及解释都是在vs2013下的x86程序中&#xff0c;涉及的指针都是4bytes。 如果要其他平台下&#xff0c;部分代码需要改动。比如&#xff1a;如果是x64程序&#xff0c;则需要考虑指针是8bytes问题 等等 1.多态的概念…

【黑马】MyBatis

目录 MyBatis简介JDBC缺点&#xff1a;MyBatis针对于JDBC进行简化&#xff0c;简化思路&#xff1a; MyBatis快速入门具体构建步骤解决SQL映射文件的警告提示 Mapper代理开发案例&#xff1a;使用Mapper代理方式完成案例具体步骤详解&#xff1a;Mapper代理方式 Mapper核心配置…

C++ SQL ORM

测试代码 // // Created by www on 2024/8/7. // #include "sqlitepp/database.h" #include "sqlitepp/condition.h"#include <iostream> using namespace sqlitepp; using namespace sqlitepp::literals;enum class test_enum {hello };void test…

掌握这项技能,用Python爬虫定制你的私人电影推荐库

思路&#xff1a; 1、先选取你要获取的视频 2、用vip解析工具解析&#xff0c;获取地址 3、复制粘贴&#xff0c;获取视频 以下是效果图 需要的python模块&#xff1a; ##第一个模块不要安装&#xff0c;第二个模块需要安装 1、from multiprocessing import Pool 2、imp…

守护网站心脏:HAProxy负载均衡技术详解(全网最详细)

守护网站心脏&#xff1a;HAProxy负载均衡技术详解 文章目录 **守护网站心脏&#xff1a;HAProxy负载均衡技术详解**haproxy介绍特点功能配置结论 haproxy负载均衡测试haproxy主机操作日志重定向操作 webserver1主机操作webserver2主机操作 haporxy相关配置测试backup参数测速h…

【Redis】Redis 数据类型

文章目录 前言1 通用知识1.1 基本全局命令1.2 数据结构和内部编码 2 String2.1 类型介绍2.2 相关命令2.2.1 SET/GET 系列命令2.2.2 INCR/DECR 计数系列命令2.2.3 其他命令2.2.4 命令小结 2.3 内部编码2.4 应用场景2.4.1 缓存功能2.4.2 计数功能2.4.3 共享会话2.4.4 验证码功能 …

如何在linux上部署zabbix监控工具

<1>搭建服务机 1&#xff09;首先我们先执行 sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/config ​ #然后我们再把防火墙开机自启关掉 马上生效 systemctl disable --now firewalld 2&#xff09;我们获得rpm包 rpm -Uvh https://mirrors.aliyun.com/…

Java设计模式-享元设计模式

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1. 享元设计模式介绍1.1 定义1.2 原理1.3 使用场景1.4 注意事项 2. 享元设计模式角色2.1 抽象享元角色&#xff08;‌AbstractFlyWeight&#xff09;‌2.2 具体享元…

【MySQL】视图——视图、视图的概念、为什么要使用视图、视图的基本使用、视图规则和限制

文章目录 MySQL1. 视图1.1 视图的概念1.2 为什么要使用视图1.3 视图的基本使用1.4 视图规则和限制 MySQL 1. 视图 1.1 视图的概念 视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表…

【动态规划】1、不同路径II+2、三角形最小路径和

1、不同路径II&#xff08;难度中等&#xff09; 该题对应力扣网址 AC代码 只会写简单的if-else class Solution { public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {//1、定义子问题//2、子问题递推关系//3、确定dp数组的计算顺序…

uniapp获取swiper中子组件的内容高度

swiper有默认高度,如果不单独设置一个具体高度&#xff0c;swiper后面的内容将不会展示 这里展示的例子是: swiper中放有一个子组件,想要完整展示子组件的内容&#xff0c;swiper就需要获取到子组件的内容高度并设置 <!-- 注意: 这里的单位是 px,不是rpx --><swiper…

Element UI导航菜单刷新就复原问题解决方法~

1、首先要知道为什么一刷新就复原了&#xff0c;是因为default-active属性设置的是默认值&#xff0c;是一个死值&#xff0c;一旦刷新就会复原&#xff0c;造成高亮不能保持&#xff0c;那么怎么解决呢&#xff1f; 2、很简单&#xff0c;无需像一些博主一样绑定path。思路&a…