当前位置: 首页 > news >正文

毕业设计网站开发传播易广告投放平台

毕业设计网站开发,传播易广告投放平台,最好用的企业网站cms,大邑县建设局网站本篇来介绍使用python中是Qt功能包,设置一个简易的多界面切换框架,实现主界面和多个子界面直接的切换显示。 1 主界面 设计的Demo主界面如下,主界面上有两个按钮图标,点击即可切换到对应的功能界面中,进入子界面后&a…

本篇来介绍使用python中是Qt功能包,设置一个简易的多界面切换框架,实现主界面和多个子界面直接的切换显示。

1 主界面

设计的Demo主界面如下,主界面上有两个按钮图标,点击即可切换到对应的功能界面中,进入子界面后,通过返回按钮,又可回到主界面。

这里以两个按钮图标示例,实际使用中,可继续扩展。

1.1 布局

如下是本Demo的主界面的布局代码,实际使用时,可根据自己的需要进行修改。

homeUI.py

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
from uiDef import *
from musicPlayer import MusicPlayer
from videoPlayer import VideoPlayerclass mainWindow(QMainWindow):def __init__(self):super().__init__()self.main_UI()self.button_UI()def main_UI(self):self.setFixedSize(WIN_WIDTH, WIN_HEIGHT)self.setWindowTitle("主界面")self.mainWight = QWidget()self.mainLayout = QVBoxLayout()self.mainWight.setLayout(self.mainLayout)self.setCentralWidget(self.mainWight)def button_UI(self):# 各个APP启动按钮# <<<音乐>>>self.musicAppBtn = QPushButton(self)self.musicAppBtn.setStyleSheet("QPushButton{border-image: url(resource/app_music.png)}")self.musicAppBtn.setFixedSize(48, 48)self.musicAppLabel = QLabel(self)self.musicAppLabel.setText("音乐")self.musicAppLabel.setAlignment(Qt.AlignCenter)self.vboxMusicApp = QVBoxLayout()self.vboxMusicApp.addWidget(self.musicAppBtn)self.vboxMusicApp.addWidget(self.musicAppLabel)# <<<视频>>>self.videoAppBtn = QPushButton(self)self.videoAppBtn.setStyleSheet("QPushButton{border-image: url(resource/app_video.png)}")self.videoAppBtn.setFixedSize(48, 48)self.videoAppLabel = QLabel(self)self.videoAppLabel.setText("视频")self.videoAppLabel.setAlignment(Qt.AlignCenter)self.vboxVideoApp = QVBoxLayout()self.vboxVideoApp.addWidget(self.videoAppBtn)self.vboxVideoApp.addWidget(self.videoAppLabel)# 布局self.vboxAppBtnLine1 = QHBoxLayout()self.vboxAppBtnLine1.addStretch(1)self.vboxAppBtnLine1.addLayout(self.vboxMusicApp)self.vboxAppBtnLine1.addStretch(1)self.vboxAppBtnLine1.addLayout(self.vboxVideoApp)self.vboxAppBtnLine1.addStretch(1)self.mainLayout.addStretch(1)self.mainLayout.addLayout(self.vboxAppBtnLine1)self.mainLayout.addStretch(1)

这里使用QPushButton实现按钮功能:

  • 通过setStyleSheet方法,设置按钮图标的显示
  • 通过QLabel设置图标对应的文字说明,并通过setAlignment方法设置居中对齐
  • 按钮图标与文字,通过QVBoxLayout进行垂直布局

多个QPushButton通过QHBoxLayoutt进行水平布局

1.2 进入子界面

界面切换的关键,是通过Qt的信号和槽机制,当图标按钮点击后,启动对应的子功能模块,并关闭主页面。

代码如下:

class mainWindow(QMainWindow):      def button_UI(self):# 省略UI布局...# 信号和槽self.musicAppBtn.clicked.connect(self.startMusicApp)self.musicAppBtn.clicked.connect(self.close) self.videoAppBtn.clicked.connect(self.startVideoApp)self.videoAppBtn.clicked.connect(self.close) def startMusicApp(self):print("startMusicApp...")self.w1 = MusicPlayer()self.w1.show()def startVideoApp(self):print("startVideoApp...")self.w2 = VideoPlayer()self.w2.show()

这里的startMusicApp和startVideoApp就是分别启动音乐播放子界面和视频播放子界面。

下面来介绍使用pyQt设计子界面。

2 子界面

设计的Demo子界面如下,点击“返回主界面”按钮,可以返回到刚才的主界面。

2.1 布局

如下是本Demo的音乐播放子界面的布局代码,实际使用时,可根据自己的需要进行修改。

musicPlayer.py

from PyQt5.QtWidgets import QWidget,QHBoxLayout,QVBoxLayout,QPushButton, QLabel, QApplication
from PyQt5.QtCore import Qt
import os, time, sys
from uiDef import *class MusicPlayer(QWidget):def __init__(self):super().__init__()self.showLabel = QLabel(self)self.showLabel.setText("音乐子界面测试")self.showLabel.setAlignment(Qt.AlignCenter)#返回主界面self.homeBtn = QPushButton("返回主界面")#整体布局self.vboxMain = QVBoxLayout()self.vboxMain.addWidget(self.showLabel)self.vboxMain.addWidget(self.homeBtn)self.setLayout(self.vboxMain)self.initUI()# 初始化界面def initUI(self):self.resize(WIN_WIDTH, WIN_HEIGHT)self.setWindowTitle('音乐子界面')self.show()

这里主要用到了QLabel和QPushButton两种控件,并通过QVBoxLayout进行垂直布局。

2.2 返回主界面

返回主界面的关键,同样是通过Qt的信号和槽机制,当点击“返回主界面”后,启动主界面功能模块,并关闭当前页面。

代码如下:

class MusicPlayer(QWidget):def __init__(self):# 省略UI布局...#信号与槽self.homeBtn.clicked.connect(self.returnHome)self.homeBtn.clicked.connect(self.close)# 返回主页def returnHome(self):print("return home")from homeUI import mainWindowself.homeWindow = mainWindow()self.homeWindow.show()

2.3 其它子界面

其它子界面的设计,可参考刚才的音乐播放子界面接口,主要是信号和槽那部分的功能保持不变,实现界面的切换。

其它功能根据自己的实际需要进行修改即可。

例如可以参考音乐播放子界面,再设计一个视频播放子界面。

from PyQt5.QtWidgets import QWidget,QHBoxLayout,QVBoxLayout,QPushButton, QLabel, QApplication
from PyQt5.QtCore import Qt
import os, time, sys
from uiDef import *class VideoPlayer(QWidget):def __init__(self):super().__init__()self.showLabel = QLabel(self)self.showLabel.setText("视频子界面测试")self.showLabel.setAlignment(Qt.AlignCenter)#返回主界面self.homeBtn = QPushButton("返回主界面")#整体布局self.vboxMain = QVBoxLayout()self.vboxMain.addWidget(self.showLabel)self.vboxMain.addWidget(self.homeBtn)self.setLayout(self.vboxMain)#信号与槽self.homeBtn.clicked.connect(self.returnHome)self.homeBtn.clicked.connect(self.close)self.initUI()# 初始化界面def initUI(self):self.resize(WIN_WIDTH, WIN_HEIGHT)self.setWindowTitle('视频子界面')self.show()# 返回主页def returnHome(self):print("return home")from homeUI import mainWindowself.homeWindow = mainWindow()self.homeWindow.show()

3 演示

实际运行Demo程序,效果如下,可以实现主界面和子界面间的互相切换显示:(待补充)

4 总结

本篇介绍了使用pyQt,设置一个简易的多界面切换框架,讲解了其切换的基本原理,并进行了实际效果的展示。

http://www.ds6.com.cn/news/4355.html

相关文章:

  • 上海市官方网站常见的营销手段
  • 可以申请微信号的网站惠州搜索引擎优化
  • 最专业的礼品网站案例参考在线培训系统
  • 龙岗中心城网站建设网络营销渠道策略
  • 公司网站建设佛山哪家专业点击器免费版
  • logo做ppt模板下载网站淘宝指数查询入口
  • 网站初期如何推广360网站推广客服电话
  • 深圳博大建设seo搜索引擎优化包邮
  • 深圳做网站大公司廊坊seo管理
  • 企业做网站有什么作用网站关键词排名seo
  • 做黄网站用什么域名中国最新军事新闻最新消息
  • 教学网站开发应用方案针对大学生推广引流
  • 网站建设遇到的问题及对策广州排名推广
  • 做网站简历怎么写网页设计页面
  • 企业网站的建立费用seo如何去做优化
  • 免费自助建网站北京关键词优化报价
  • html5做图书馆网站seo创业
  • 土木毕业设计代做网站搜狗快速收录方法
  • 做外贸批发开什么网站网络推广公司专业网络
  • 七牛云可以做网站的存储空间吗长沙企业seo优化
  • 如何建设一个门户网站抖音seo什么意思
  • 摄影网站做画册深圳网站营销seo费用
  • 张家港网站设计网站关键词优化wang
  • 芯火信息做网站怎么样网站关键词排名优化软件
  • 快速建站开源成都seo正规优化
  • 云服务器ecs是什么宁波优化网站排名软件
  • 临西企业做网站企业培训公司有哪些
  • 京东商城网站建设日程表在百度做广告多少钱
  • 生物商城网站建设搜索引擎优化的定义
  • 做app 需要先做网站吗天津百度整站优化服务