01、本系列使用pyqt5作为教材创建项目
  --安装 pyqt5 和 pyqt5-tools[这个就是为了使用qtdesigner这个工具] 两个包
  --进入Lib\site-packages\pyqt5_tools\Qt\bin,点击designer.exe即可打开

02、第一个示例:
    import sys
    from PyQt5 import QtWidgets  # 通用窗口类

class mywindows(QtWidgets.QWidget):  # 继承自 QtWidgets.QWidget 类
        def __init__(self):
            super(mywindows, self).__init__()  # 重载一下mywindows使其包含了QtWidgets.QWidget的预加载项

def mywindow():
        app = QtWidgets.QApplication(sys.argv)  # pyqt 窗口必须在 QApplication 方法中使用
        windows = mywindows()  # 创建一个对象
        windows.show()  # 展示窗口
        sys.exit(app.exec_())   # 启动事件循环

if __name__ == '__main__':
        mywindow()
        
03、qtdesigner使用基础--01、Layout窗口布局控件      
  --点击designer.exe打开软件,Layout拖动到主窗口就是红色框
    --Widget就是通用窗口类,MainWindows就是主窗口,Widget被分离出来用于替代Dialog,在qt5中Widget放在QtWidget模块库中,在qt4中是在QtGUI
    --MainWindows默认添加了菜单栏、工具栏、状态栏
    
  --Vertical Layout:竖向 | 纵向布局
  --Horizontal Layout:横向布局
  --Grid Layout:栅格布局 示例:计算器布局
  --Form Layout:窗体布局中布局
  
  --一般组件是分层级的,Form窗体--Layout组件--button按钮
  --是用自带的pyuic5 工具cmd中运行命令:pyuic5 -o uitest.py test.ui
    
04、 qtdesigner使用基础--02、基本源码生成分析
  01、单纯创建一个Widget窗体代码如下:pyuic5 -o uitest.py test.ui
    from PyQt5 import QtCore, QtGui, QtWidgets  # 导入模块

class Ui_Form(object):  # 继承object类,创建窗体类
        def setupUi(self, Form):  # 创建setupUi函数
            Form.setObjectName("Form")  # 设置窗体名称
            Form.resize(400, 297)  # 设置窗体大小

self.retranslateUi(Form)  # 加载retranslateUi函数
            QtCore.QMetaObject.connectSlotsByName(Form)  # 关联信号槽

def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate  # 支持国际化
            Form.setWindowTitle(_translate("Form", "Form"))  # 设置窗口标题
        
  02、 加一个栅格布局之后
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(672, 468)
            self.gridLayoutWidget = QtWidgets.QWidget(Form)  # 创建栅格布局,放进窗体Form,最主要
            self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 20, 671, 451))  # 设置栅格布局大小
            self.gridLayoutWidget.setObjectName("gridLayoutWidget")  # 设置栅格布局的名称
            self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)  # 创建一个栅格布局对象,最主要
            self.gridLayout.setContentsMargins(0, 0, 0, 0)  # 设置栅格布局边距
            self.gridLayout.setObjectName("gridLayout")  # 设置栅格布局OjbjectName

self.retranslateUi(Form)
            QtCore.QMetaObject.connectSlotsByName(Form)

def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Form"))

03、关于qtdesigner的使用小技巧
    --布局查看,可使用Object Inspector[对象查看器]进行查看,通常使用栅格布局作为顶层布局
    --通常可以使用ctrl选择拖动的所有控件,再选择工具栏上的布局即可自动布局
  
  04、github小技巧
    --通过按住ctrl可以多行选择,选择对象包括光标、空格、文字等

01、pyqt入门使用--01布局、基本组件、第一个示例、qtdesigner大概使用相关推荐

  1. Bootstrap学习笔记01【快速入门、栅格布局】

    Java后端 学习路线 笔记汇总表[黑马程序员] Bootstrap学习笔记01[快速入门.栅格布局][day01] Bootstrap学习笔记02[全局CSS样式.组件和插件.案例_黑马旅游网][d ...

  2. MyBatis 01 快速入门

    MyBatis 01 快速入门 文章目录 MyBatis 01 快速入门 一.学习目标 二.为什么需要框架技术 三.框架技术介绍 四.主流框架介绍 五.持久化与ORM 六.MyBatis简介 七.搭建 ...

  3. Bootstrap响应式Web开发笔记01——基础入门

    Bootstrap响应式Web开发笔记01--基础入门 Bootstrap响应式Web开发笔记02--移动端页面布局 Bootstrap响应式Web开发笔记03--Bootstrap栅格系统 Boot ...

  4. 【Yocto学习入门】01 - Yocto简介

    [Yocto学习入门]01 - Yocto简介 一.什么是yocto? 二.openembedded,poky和yocto的关系 三.BitBake 是什么 四.yocto的工作流程 五.Yocto ...

  5. React 全家桶入门教程 01

    React 全家桶入门教程 01 前面是基础课程(难度小,略过),后面是案例 目的 巩固react基础知识,查漏补缺(熟悉的部分快进) 学习相关的库的使用 https://study.163.com/ ...

  6. Jmeter 入门 从0-1 基础篇-实操

    Jmeter 入门 从0-1 基础篇 笔记有的图片链接可能失效了,等我修改好了在来编辑哈 文章目录 1 JMeter 1.1 JMeter环境搭建和基本使用 1.1.1 JMeter环境搭建 1.1. ...

  7. 【mysql入门笔记01 2022.9.27】

    mysql入门笔记01 2022.9.27 数据库概念 数据库管理系统 关系型数据库(RDBMS) 非关系型数据库(NoSQL) SQL概念 Mysql 版本 Mysql安装 Mysql启动 方式一 ...

  8. .NET零基础入门之01:开篇及CSharp程序、解决方案的结构

    .NET零基础入门之01:开篇及CSharp程序.解决方案的结构 参考文章: (1).NET零基础入门之01:开篇及CSharp程序.解决方案的结构 (2)https://www.cnblogs.co ...

  9. 洛谷 P1048 采药 01背包入门

    P1048 采药 最近想学dp了 一道非常简单入门的01背包,写此博客做一个教训,对01背包还不是特别熟,动态方程很容易就推出来了,但是写二维状态方程时wa了,然后改为一维过了. 主要还是对01背包不 ...

最新文章

  1. Github Windows安装帮助
  2. 关于Html中jsp调用Android中方法无效的一点建议
  3. The type android.support.v4.view.ScrollingView cannot be resolved. It is indirectly referenced from
  4. 65279 php,php头部#65279;去除bom执行文件
  5. python gil锁_python--GIL锁
  6. 报错:TargetException, 非静态方法需要一个目标
  7. 基础学习总结(一)--工程结构与打包过程
  8. 电压比较器之LM393工作原理
  9. bl系列刀片(blade)服务器,HPE Integrity BL870c i6 刀片服务器
  10. rational rose mysql_用Rational Rose逆向工程(java)生成类图(教程和错误解决)
  11. macOS Monterey 12.4 (21F79) 正式版 ISO、IPSW、PKG 下载
  12. 蓝牙相关Profiles
  13. (转载)JDO快速入门(原理详解)
  14. 桌面动态壁纸 wallPaper engine
  15. 人生理解---3、不想学习的时候怎么办
  16. 如何自己动手给笔记本电脑增加内存
  17. 【马修笔记】大波段顶底反转的节奏交易.
  18. 关于移动端的文本框获取焦点时导致fixed或absolute定位的按钮被手机键盘顶上去的问题
  19. 教师计算机应用基础知识,计算机应用基础
  20. Urule规则引擎快速搭建

热门文章

  1. java8 .stream().anyMatch / allMatch / noneMatch用法
  2. 幼儿园c ch语言教育,小班语言发育迟缓幼儿发展评估及教育干预的个
  3. 【JAVA基础】java基础之-泛型详解
  4. GD MCU的SWD和SCLK管脚被当成IO脚占用导致找不到设备
  5. 给领导敬酒杯子非要低于领导吗?
  6. JSHTMLCSS实现双色球抽奖
  7. 你喜欢吃和不喜欢吃的水果
  8. 《APP逆向学习》课程介绍和什么是安卓app逆向?
  9. linux打印文件名称唯美,程序员的情人节应该这么优雅度过(附源码)
  10. linux系统命令cd怎么使用,linux命令怎么用_Linux cd命令该怎么使用