一、前言

QWidget翻译过来是小部件的意思,QWidgt 类是所有用户界面对象的基类。 窗口部件是用户界面的一个基本单元:它从窗 口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己。每一个窗口部件都是矩形的, 并且它们按 Z 轴顺序排列。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住 一部分。

二、学习目标

1.QWidgt界面实现

2.QWidgt常用方法

三、知识点

1.【QWidgt窗口实现】

基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类。

  • 创建语法:

    window = QWidget()

    Qwidget()中可填入参数:"(self, parent=None, flags)"

    parent :父类,设置窗口父类对象,不设置为None,为顶层窗口,非必填;

    flags:窗口标志,非必填。

  • 窗口标志类型:

    flags 说明
    Qt.MSWindowsFixedSizeDialogHint 窗口无法调整大小
    Qt.FramelessWindowHint 窗口无边框
    Qt.CustomizeWindowHint 有边框但无标题栏和按钮,不能移动和拖动
    Qt.WindowTitleHint 添加标题栏和一个关闭按钮
    Qt.WindowSystemMenuHint 添加系统目录和一个关闭按钮
    Qt.WindowMaximizeButtonHint 激活最大化和关闭按钮,禁止最小化按钮
    Qt.WindowMinimizeButtonHint 激活最小化和关闭按钮,禁止最大化按钮
    Qt.WindowMinMaxButtonsHint 激活最小化,最大化和关闭按钮
    Qt.WindowCloseButtonHint 添加一个关闭按钮
    Qt.WindowContextHelpButtonHint 添加问号和关闭按钮,同对话框
    Qt.WindowStaysOnTopHint 窗口始终处于顶层位置
    Qt.WindowStaysOnBottomHint 窗口始终处于底层位置
  • 普通写法

    import sys
    from PyQt5.QtCore import Qt
    from PyQt5.QtWidgets import QApplication, QWidget #1.创建app实例
    app = QApplication(sys.argv)
    #2.创建窗体实例
    myMain = QWidget(flags=Qt.MSWindowsFixedSizeDialogHint)
    #3.显示窗体
    myMain.show()
    #4.运行app
    sys.exit(app.exec_())
  • 单继承模式写法

    一个完整程序的实现往往包含很多要素,如界面、槽函数、信号等,为了让我们的界面代码与业务逻辑代码进行分离,往往使用单继承模式。

    import sys
    from PyQt5.QtCore import Qt
    from PyQt5.QtWidgets import QApplication, QWidget class QmyWidget(QWidget): def __init__(self, parent=None):
    super().__init__(parent, flags=Qt.MSWindowsFixedSizeDialogHint) # 调用父类的构造函数,创建QWidget窗体 if __name__ == '__main__':
    #1.创建app实例
    app = QApplication(sys.argv)
    #2.创建窗体实例
    myMain = QmyWidget()
    #3.显示窗体
    myMain.show()
    #4.运行app
    sys.exit(app.exec_())

2.【QWidgt常用方法】

  • 设置窗口位置及大小

    • 常用方法

      窗口位置常用方法 说明
      move(x, y) 设置窗口位置,左上角x,y坐标
      resize(width, height) 设置窗口尺寸,宽度、高度
      setGeometry(x, y, width, height) 设置窗口在屏幕中的位置与窗口的大小,x,y,宽度和高度
      adjustSize() 根据内容自适应大小
      setFixedSize() 设置固定尺寸
      setWindowTitle() 设置窗体标题
    • 代码示例

              self.move(150, 150)                   # 设置窗口位置
      self.resize(300, 200) # 设置窗口大小
      self.setWindowTitle('QWidgt组件演示') # 设置窗口标题
  • 设置气泡提示

    • 常用方法

      方法 说明
      setToolTip(str) 鼠标悬停在控件上一会后, 展示在旁边。
      toolTip() 获得信息提示内容。
      setToolTipDuration(msec) 设置显示时长。
      toolTipDuration() 获取显示时长。
      setWhatsThis(str) 切换到"查看这是啥"模式, 点击该控件时显示。
      whatsThis() 获取这是啥内容。
    • 代码示例

      # 设置气泡提示
      self.setToolTip('这是一个气泡显示')
  • 设置窗口图标

    • 常用方法

      方法 说明
      setWindowIcon() 设置窗体图标,需要传QIcon对象
    • 代码示例

      self.setWindowIcon(QIcon('logo.png'))

1.【窗口组件】小部件-QWidgt的更多相关文章

  1. Android 之窗口小部件详解--App Widget

    Android 之窗口小部件详解--App Widget  版本号 说明 作者 日期  1.0  添加App Widge介绍和示例  Sky Wang 2013/06/27        1 App ...

  2. Android 之窗口小部件详解(三)  部分转载

    原文地址:http://blog.csdn.net/iefreer/article/details/4626274. (一) 应用程序窗口小部件App Widgets 应用程序窗口小部件(Widget ...

  3. Android开发5:应用程序窗口小部件App Widgets的实现

    前言 本次主要是实现一个Android应用,实现静态广播.动态广播两种改变 widget内容的方法,即在上篇博文中实验的基础上进行修改,所以此次实验的重点是AppWidget小部件的实现啦~ 首先,我 ...

  4. 优质Android小部件:索尼滚动相册

    虽然骚尼手机卖的不怎么样,但是有些东西还是做的挺好的,工业设计就不用说了,索尼的相册的双指任意缩放功能也是尤其炫酷.其桌面小部件滚动相册我觉得也挺好的,比谷歌原生的相册墙功能好多了,网上搜了一下也没发 ...

  5. ArcGIS Server开发教程系列(8)ArcGIS API for Javascript-控件(小部件)

    1.     鹰眼 OverviewMap小部件用于在其关联的主地图内较清楚的当前鸟瞰图的范围.当主地图范围变化时,鹰眼图会自动在其空间内更新范围以保持和地图的当前范围保持一致,当鹰眼图空间的地图范围 ...

  6. 在android程序中加入widget(窗口小部件)并与之交互的关键代码

    摘要: widget(窗口小部件)可以增强应用程序的交互性, 是很多应用中都会用到的功能,本文不求大而全,但是会给出程序与widget交互的关键代码 正文: 其实widget是嵌入(embedded) ...

  7. yii YII小部件 创建登录表单表单 Login表单

    YII框架必须遵循其表单的创建方法 登录模型错做与数据库操作模型是一致的,不同的是不跟数据库交互 ,用的是小部件,在创建表单之前,要在用户控制模块完成以下代码 protected --models - ...

  8. YII 小部件实现的注册表

    今天来进行用户注册功能yii集成了很多验证框架,framework/validators下面,这个文件夹的最后一个文件CValidator.php 是总的验证信息,根据请求参数决定需要那种验证 如:u ...

  9. YII 小部件 yii小部件查看方法 小物件做的表单

    要使用小部件,可以先到总文件去找   framework/yiilite文件里面搜索“CAtiveForm” (如果觉得小部件的radio布局有点难看,可以在外面定义,具体可以在控制器里面定义) 如下 ...

  10. Yii2的相关学习记录,alert等美化、confirm异步、session中的flash及小部件的使用(六)

    呃,系统自带的alert.confirm等弹出框实在是难看,作为一个颜控,这能忍? 这里我用的是kartik-v/yii2-dialog,这个是基于bootstrap3-dialog这个来做了一些常用 ...

随机推荐

  1. jstl的使用 转发和重定向(做项目遇到的一些问题总结)

    文章目录 1.jstl的使用 2.转发和重定向 3.shiro 4.spring是什么? 5.对AOP的理解 6.标签通常和标签一起使用 7.springmvc中的form表单 7.1 form标签 ...

  2. 基于vite3+tauri模拟QQ登录切换窗体|Tauri自定义拖拽|最小/大/关闭

    前两天有给大家分享tauri+vue3快速搭建项目.封装桌面端多开窗口.今天继续来分享tauri创建启动窗口.登录窗口切换到主窗口及自定义拖拽区域的一些知识.希望对想要学习或正在学习的小伙伴有些帮助. ...

  3. 十五、资源控制之Deployment

    资源控制器之Deployment Deployment 为 Pod 和 ReplicaSet 提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationControlle ...

  4. clang在编译时指定目标文件所需的最低macOS版本

    调研这个的原因,是因为有个同事在macOS 12.2上打包好的程序,放在macOS 10.15上运行时报错: Dyld Error Message:  Symbol not found: __ZNKS ...

  5. 记一次node节点无法加入K8S集群

    #问题现象:root@small-virtual-machine:~# kubeadm join 10.0.0.133:6443 --token d2hyl5.5qt5fzjsdbxm2k5o     ...

  6. 【深入浅出 Yarn 架构与实现】3-2 Yarn Client 编写

    上篇文章介绍了编写 Yarn Application 的整体框架流程,本篇文章将详细介绍其中 Client 部分的编写方式. 一.Yarn Client 编写方法 本篇代码已上传 Github: Gi ...

  7. django启动报错:DisallowedHost at /

    学习django第一天,第一次启动服务就报错,报错内容如下: DisallowedHost at / Invalid HTTP_HOST header: '192.168.116.22:8000'. ...

  8. 关于deepin-wine或wine设置PATH环境变量的方法

    前言 更改wine中PATH变量主要是为了能在 cmd输入一些命令而已,这里你可能会问怎么用cmd? deepin-wine cmd 这样就进入了cmd,而设置PATH 环境变量不能像windows一 ...

  9. Linux系统下安装tomcat步骤

    安装参考教程:https://www.cnblogs.com/li150dan/p/12535067.html 说明:jdk自动安装后路径是/usr/lib/jvm 在"vim /etc/p ...

  10. Tekton 设计简介 及 实践

    本文是我对Tekton的实现原理和背后技术逻辑的理解,以及在实践过程中的一些总结. 简介 Tekton 是一个基于 Kubernetes 的云原生 CI/CD 开源(https://cd.founda ...