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

 1 主界面


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

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

2 工程目录

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


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

3 代码

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

# -*- coding:utf-8 -*-
"""
------------------------------------------------
File Name: Main.py
Description:
Author: lzq
date:2024-08-07 08:32
------------------------------------------------
"""
import sys

import shop
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QIcon, QPalette, QBrush, QPixmap
from PyQt6.QtWidgets import QApplication

from 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 analysis


class 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())
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.

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

4 设计

通过QDesigner.exe设计:


入门 PyQt6 看过来(项目)26 在线购物-主页面_开发语言_03

其中每一项命名如下:


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

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

from ui.Main_ui import Ui_mainWindow
  • 1.

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

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)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

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

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()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

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


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