首页 > 其他分享 >pyqt5-开发

pyqt5-开发

时间:2023-04-16 23:46:50浏览次数:38  
标签:designer 窗口 GUI pyqt5 开发 组件 界面 加载

1、介绍

这里介绍pyqt的一般开发过程。

2、主窗口

一般,使用QMainWindow组件作为主窗口。然后分为三个部分:

  • 标题栏,即窗口名称、图标和关闭按钮等所在行
  • 菜单栏和工具栏
  • 主界面

(1)标题栏

可以是直接使用pyqt提供的默认样式,也可以取消默认样式,然后自定义

(2)主界面

一般不会直接在主界面中设计,而是通过tab组件,去嵌套其他的窗口组件。

  • 各tab子页的窗口之间可以沟通,但是组件命名是相互独立的,很方便开发,快速查找需要的组件
  • 可以很好的控制各窗口,进行移动、关闭、添加,甚至对一个功能窗口复数添加
  • 迭代和不同场景的加载。对一个窗口的迭代基本不影响其他窗口,且允许一个GUI程序的不同入口加载同一功能的窗口,还允许同一窗口被不同GUI程序加载

(3)菜单栏和工具栏

算一个补充功能,也可以用于控制主界面的窗口加载

3、designer

对于主窗口,尽量少使用designer进行直接设计

对于其他窗口,可以尽量多使用designer设计

4、命名

由于gui开发,涉及到的组件、方法繁多,需要一套命名规范,方便查找使用和迭代。

  • 对GUI组件对象,使用designer的默认命名规则,尽量从低到高逐一递增
  • 对组件相关的方法,一般依次点明组件所在层次,组件类型,事件,操作。并且按照相关程序从上到下排序
  • 对方法和代码写注释,在gui开发中尤为重要。比如注释某个组件在designer中的名称、层次关系、类型、作用

标签:designer,窗口,GUI,pyqt5,开发,组件,界面,加载
From: https://www.cnblogs.com/wd404/p/17324439.html

相关文章

  • Linux开发之文件IO
    文件IOC语言中有文件IO相关的库函数(fopen等),他的实际上是经过了某些步骤,然后调用linux系统调用。这篇文章,要讲的是linux系统调用的文件IO,如open,close,read等。预备知识文件描述符在linux中,程序打开的文件,会有一个整数指向它,这就叫文件描述符。通过对文件描述符进行操作,就能实......
  • pyqt5-事件
    1、介绍pyqt提供了事件机制使用户和程序进行交互。2、xxed方法组件的类中声明的类似xxed形式的方法,用于表示事件,使用时将其调用connect方法,指定处理方法。示例:xx.clicked.connect(self.opt)绑定组件对象的鼠标单击事件,如果触发,则调用opt方法3、xxEvent方法组件的类中声......
  • pyqt5-布局
    1、介绍pyqt可以基于designer快速进行布局,所见即所得,不用关心代码。2、绝对布局通过组件的move和update等方法,可以设置组件的左上顶角在父组件的中的绝对位置,从而实现布局。在实际开发中,可以用于窗口的位置设置,但是一般不用于窗口内组件的管理move(x,y)#x表示水平方向,y......
  • pyqt5-QWidget
    1、介绍QWidget是几乎所有pyqt组件的直接或间接父类,其声明的属性和方法很具有代表性。其他组件极大可能是直接使用,所以一般不再阐述。除非少数可能做了个性化覆写。2、类和初始化classQWidget(__PyQt5_QtCore.QObject,__PyQt5_QtGui.QPaintDevice):def__init__(self,p......
  • angular开发从入门到入土第二节(组件通信)
    一.input和output1.子组件通过@Input装饰器获取到父组件传递的值//子组件html模板<p>child</p><div>{{showText}}</div>子组件类import{ChangeDetectionStrategy,Component,Input}from'@angular/core';@Component({selector:'app-my-co......
  • Pake 基于rust 开发的快速web 页面打包app 的工具
    Pake利用了tauri可以实现web页面快速打包桌面app说明对于希望快速打开一个桌面应用的场景,Pake还是值得试用的参考资料https://github.com/tw93/Pake......
  • 关于敏捷开发、系统重构、设计原则、设计模式之间的思考
    敏捷开发、系统重构、设计模式是软件开发中不同的概念,它们之间有一些联系和相互影响。敏捷开发方法强调快速响应客户需求,通过迭代和增量的方式来开发软件。在敏捷开发中,设计模式可以被用来提高软件质量和可维护性,因为设计模式是已经被证明有效的软件设计方案。在开发过程中,团队可......
  • FFmpeg开发笔记(一)搭建Linux系统的开发环境
    对于初学者来说,如何搭建FFmpeg的开发环境是个不小的拦路虎,因为FFmpeg用到了许多第三方开发包,所以要先编译这些第三方源码,之后才能给FFmpeg集成编译好的第三方库。不过考虑到刚开始仅仅调用FFmpeg的API,不会马上去改FFmpeg的源码,因此只要给系统安装编译好的FFmpeg动态库,即可着手编写......
  • kubebuilder开发kubernetes operator demo
    环境准备go环境配置wgethttps://golang.google.cn/dl/go1.19.8.linux-amd64.tar.gztarzxvfgo1.19.8.linux-amd64.tar.gzmvgo/usr/local/vim/etc/profile在最结尾添加exportHOME=/rootexportGOROOT=/usr/local/goexportGOPATH=/opt/idcus/goexportPATH=$PATH:......
  • 安卓开发IDE(大一暑假)
    项目截图 这里可以打开你的项目,双击config.xml代码高亮(移植) 代码补全 项目编译我直接调用的命令compile.addActionListener(newActionListener(){@OverridepublicvoidactionPerformed(ActionEvente){newThread(ne......