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. 简单易用的MongoDB

    从我第一次听到Nosql这个概念到如今已经走过4个年头了,但仍然没有具体的去做过相应的实践.最近获得一段学习休息时间,购买了Nosql技术实践一书,正在慢慢的学习.在主流观点中,Nosql大体分为4类 ...

  2. C# DataGridView合计行

    在网上搜了很多关于DataGridView合计行的设计及源码,都不是很合我心意.于是自己写了一个关于合计行的DLL.以后每次要用到合计行的时候只要引用这个DLL就可以了. 效果图如下: 引用Dll: ...

  3. Android零基础入门第35节:Android中基于回调的事件处理

    原文:Android零基础入门第35节:Android中基于回调的事件处理 通过前面两期掌握了Android中基于监听的事件处理的五种形式,那么本期一起来学习Android中基于回调的事件处理. 一. ...

  4. Docker镜像与容器命令 专题

    https://yeasy.gitbooks.io/docker_practice/content/install/mirror.html docker的工作流程图: 至少需要配备三样东西去使用doc ...

  5. Qt-vs-addin失效的问题

    Qt-vs-addin的小问题 使用Visual Studio进行Qt开发的时候,需要安装一个插件.然而有时候这个插件的一些工具却莫名其妙的失效: 其中qt5appwrapper.exe用于编辑Qt工 ...

  6. 关于EF ORM 框架的使用问题

    1.无法更新 EntitySet“System_UserInfo20140218001”,因为它有一个 DefiningQuery,而 <ModificationFunctionMapping& ...

  7. MySQL创建数据库并插入数据

    启动MySql 启动服务:sudo service mysql start 登陆:mysql -u root 新建数据库 CREATE DATABASE <数据库名>; 在大多数SQL系统 ...

  8. Delphi编写系统服务:完成端口演示

    在开发大量Socket并发服务器,完成端口加重叠I/O是迄今为止最好的一种解决方案,下面是简单的介绍:   “完成端口”模型是迄今为止最为复杂的一种I/O模型,特别适合需要同时管理为数众多的套接字,采 ...

  9. QTableWidget和 QTableView翻页效果(准确计算Scroll,然后使用setSliderPosition函数)

    以QTableView举例,QTableWidget使用相同   int CQTTableViewPageSwitch::pageCount(QTableView *p)//QTableView 总页 ...

  10. DI 容器实务建议

    整理一些有关使用 DI 容器的一些建议事项,主要的参考数据源是 Jimmy Board 的文章:Container Usage Guidelines. 1.容器设定 避免对同一个组件(DLL)重复扫描 ...