Python 3+ PyQT5的入门使用

窗口类型介绍

QMainWindow,QWidget和QDialog都是用来创建窗口的.可以直接使用也可以继承后再使用.

  1. QMainWindow
    该类窗口可以包括菜单栏,工具栏,状态栏,标题栏等,是最常见的窗口形式,也是GUI程序的主窗口.
  2. QWidget
    该类窗口比较通用,它可以作为顶层窗口(作父窗口),也可以嵌入到其他窗口(作子窗口).如果不确定窗口的定位,就可以使用该类窗口.为什么这个类这么通用呢?是因为QWidget是所有用户界面对象的基类.所有窗口和控件都直接或者间接继承QWidget类.
  3. QDialog
    该类窗口是对话框窗口基类.主要用于执行短期任务,或者与用户进行交互.它可以是模态的,也可以是非模态的.该类窗口没有菜单栏,工具栏和状态栏等.

创建主窗口

  • 没有父窗口的窗口就是顶层窗口(个人理解:根窗口)
  • 在PyQT中,QMainWindow窗口中会有一个控件(QWidget),它是用来占位置的,占据着中心窗口.可以使用setCentralWidget()来设置中心窗口.
    这里是图片(暂时没有写入图片地址)
  • 注意QMainWindow不能设置布局(使用setLayout()方法),因为它有自己的布局.

QMainWindow类中常用的方法

方法 描述
addToolBar() 添加工具栏
centralWidget() 返回窗口中心的一个控件,未设置的时候返回null
menuBar() 返回主窗口的菜单栏
setCentralWidget() 设置窗口中心的控件
setStatusBar() 设置状态栏
statusBar() 获得状态栏对象后,调用状态栏对象的
showMessage(message,int timeout=0)方法显示状态栏信息.
第一个参数是显示状态栏的信息;第二个参数是信息停留时间,
单位是毫秒,默认是0,表示一直显示状态栏信息.

创建一个简单的主窗口

import sys
from PyQt5.QtWidgets import QMainWindow,QApplication
class MainWindow(QMainWindow):
    def __init__(self,parent=None):
        super(MainWindow,self).__init__(parent)
        self.resize(400,200) # 设置窗口的大小
        self.status = self.statusBar() # 实例化状态栏
        self.status.showMessage("这是状态栏显示",5000) # 显示状态栏信息
        self.setWindowTitle("PyQt简单的主窗口") # 设置窗口的标题
if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = MainWindow()  # 实例化对象
    form.show() # 显示窗口
    sys.exit(app.exec_())

窗口全屏/最大化/最小化

待续...

Python PyQT5的入门使用的更多相关文章

  1. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  2. Python简单爬虫入门三

    我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...

  3. Python简单爬虫入门二

    接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...

  4. Python不完全入门指南

    适用范围: 有一定编程基础,想快速入门python的人群 说明: 使用jupyter notebook编写,可以使用nbviewer网站进行查看. Python不完全入门指南 项目放在github上, ...

  5. GJM : Python简单爬虫入门(二) [转载]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  6. Python第一天——入门Python(1)数据定义

    数据类型: 什么是数据? 在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字字母.符号和模拟量等的统称.现在计算机存储和处 ...

  7. Python系列之入门篇——HDFS

    Python系列之入门篇--HDFS 简介 HDFS (Hadoop Distributed File System) Hadoop分布式文件系统,具有高容错性,适合部署在廉价的机器上.Python ...

  8. Python系列之入门篇——MYSQL

    Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ...

  9. Python 30分钟入门指南

    Python 30分钟入门指南 为什么 OIer 要学 Python? Python 语言特性简洁明了,使用 Python 写测试数据生成器和对拍器,比编写 C++ 事半功倍. Python 学习成本 ...

随机推荐

  1. 【全面解禁!真正的Expression Blend实战开发技巧】第八章 FluidMoveBehavior完全解析之一漂浮移动

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第八章 FluidMoveBehavior完全解析之一漂浮移动 好久没更新博客了,今天如果没急事,准备连发三篇,完全讲解Blend ...

  2. 破处在window7桌面版本下golang连接数上限

    注册表 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 修改或者添加 MaxUserPort 60000 TcpTimedWaitDel ...

  3. Database Comparer VCL 6.4.908.0 D5-XE10.1

    Database Comparer VCL compares and synchronizes databases structure (metadata) and table data for ma ...

  4. Delphi 10.2 Linux 程序开发环境部署的基本步骤(网络连接方式要选择桥接或者是Host Only)

    Delphi 10.2 Linux 程序开发环境部署的基本步骤 http://blog.qdac.cc/?p=4477 升級到 Delphi 10.2 Tokyo 笔记http://www.cnblo ...

  5. Linux下的wfopen(手工打造)

    Of Linux on wfopen (open wide-character version of the file name and mode) to achieve Not directly a ...

  6. 跨越DLL边界传递CRT对象潜在的错误

    跨越DLL边界传递CRT对象潜在的错误 翻译:magictong(童磊)2013年5月 版权:microsoft 原文地址:http://msdn.microsoft.com/en-us/librar ...

  7. MJPhotoBrowser 用法

    一.使用方法:   #import "MJPhotoBrowser.h" #import "MJPhoto.h"   - (void)tapPhoto:(UIT ...

  8. SqlServer 动态SQL(存储过程)中Like 传入参数无正确返回值的问题

    最近在做项目时,以动态Sql进行Like语句查询时发现应该返回的结果却一直返回空,后来发现是写法错误: 错误SQL: DECLARE @0 varchar(20) SET @0 = 'XA-LZ' S ...

  9. 【转载】Spring Boot引起的“堆外内存泄漏”排查及经验总结

    背景 为了更好地实现对项目的管理,我们将组内一个项目迁移到MDP框架(基于Spring Boot),随后我们就发现系统会频繁报出Swap区域使用量过高的异常.笔者被叫去帮忙查看原因,发现配置了4G堆内 ...

  10. vue-resource.js的get和post的正确用法

    在网上看到人家写的vue-resource.js的get方法例子, new Vue({ el:'body', data:{ }, methods:{ get:function(){ this.$htt ...