1.【窗口组件】小部件-QWidgt
一、前言
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的更多相关文章
- Android 之窗口小部件详解--App Widget
Android 之窗口小部件详解--App Widget 版本号 说明 作者 日期 1.0 添加App Widge介绍和示例 Sky Wang 2013/06/27 1 App ...
- Android 之窗口小部件详解(三) 部分转载
原文地址:http://blog.csdn.net/iefreer/article/details/4626274. (一) 应用程序窗口小部件App Widgets 应用程序窗口小部件(Widget ...
- Android开发5:应用程序窗口小部件App Widgets的实现
前言 本次主要是实现一个Android应用,实现静态广播.动态广播两种改变 widget内容的方法,即在上篇博文中实验的基础上进行修改,所以此次实验的重点是AppWidget小部件的实现啦~ 首先,我 ...
- 优质Android小部件:索尼滚动相册
虽然骚尼手机卖的不怎么样,但是有些东西还是做的挺好的,工业设计就不用说了,索尼的相册的双指任意缩放功能也是尤其炫酷.其桌面小部件滚动相册我觉得也挺好的,比谷歌原生的相册墙功能好多了,网上搜了一下也没发 ...
- ArcGIS Server开发教程系列(8)ArcGIS API for Javascript-控件(小部件)
1. 鹰眼 OverviewMap小部件用于在其关联的主地图内较清楚的当前鸟瞰图的范围.当主地图范围变化时,鹰眼图会自动在其空间内更新范围以保持和地图的当前范围保持一致,当鹰眼图空间的地图范围 ...
- 在android程序中加入widget(窗口小部件)并与之交互的关键代码
摘要: widget(窗口小部件)可以增强应用程序的交互性, 是很多应用中都会用到的功能,本文不求大而全,但是会给出程序与widget交互的关键代码 正文: 其实widget是嵌入(embedded) ...
- yii YII小部件 创建登录表单表单 Login表单
YII框架必须遵循其表单的创建方法 登录模型错做与数据库操作模型是一致的,不同的是不跟数据库交互 ,用的是小部件,在创建表单之前,要在用户控制模块完成以下代码 protected --models - ...
- YII 小部件实现的注册表
今天来进行用户注册功能yii集成了很多验证框架,framework/validators下面,这个文件夹的最后一个文件CValidator.php 是总的验证信息,根据请求参数决定需要那种验证 如:u ...
- YII 小部件 yii小部件查看方法 小物件做的表单
要使用小部件,可以先到总文件去找 framework/yiilite文件里面搜索“CAtiveForm” (如果觉得小部件的radio布局有点难看,可以在外面定义,具体可以在控制器里面定义) 如下 ...
- Yii2的相关学习记录,alert等美化、confirm异步、session中的flash及小部件的使用(六)
呃,系统自带的alert.confirm等弹出框实在是难看,作为一个颜控,这能忍? 这里我用的是kartik-v/yii2-dialog,这个是基于bootstrap3-dialog这个来做了一些常用 ...
随机推荐
- MIPI-DSI协议
MIPI联盟,即移动产业处理器接口(Mobile Industry Processor Interface 简称MIPI)联盟.MIPI(移动产业处理器接口)是MIPI联盟发起的为移动应用处理器制定的 ...
- Spring知识框架
- 洛谷 P6573 [BalticOI 2017] Toll 题解
Link 算是回归OI后第一道自己写的题(考CSP的时候可没回归) 写篇题解纪念一下 题目大意: \(n\) 个点,\(m\) 条单向边,每条边的两端点 \(x\),\(y\)必定满足 \(\left ...
- Flask框架:运用Ajax轮询动态绘图
Ajax是异步JavaScript和XML可用于前后端交互,在之前<Flask 框架:运用Ajax实现数据交互>简单实现了前后端交互,本章将通过Ajax轮询获取后端的数据,前台使用echa ...
- 干货,深入剖析ReentrantLock源码,推荐收藏
ReentrantLock和Synchronized都是Java开发中最常用的锁,与Synchronized这种JVM内置锁不同的是,ReentrantLock提供了更丰富的语义.可以创建公平锁或非公 ...
- AI音乐创作,让每一个人都成为音乐家
从录音带.MP3到专业的耳机.音箱,随着音乐消费方式的不断升级,音乐创作的专业"门槛"也在AI技术的加持下逐渐大众化,创作者的创新设计.创作频率也在持续增强,能降低创作门槛且智能化 ...
- MongoDB 数据库的学习
一.MongoDB的简介 1.MongoDB是什么? MongoDB 是由 C++ 语言编写的,基于分布式文件存储的数据库,是一个介于关系数据库和非关系数据库之间的产品,是最接近于关系型数据库的 No ...
- css属性样式整合
font-size 字体大小 常用色值:#000 黑色:#fff 白色:#ccc.#333.#2f2f2f.#666.#ddd 灰色: rgb表示法:color:rgb(255,255,255); r ...
- 【Devexpress】Gridcontorl动态创建列不显示的问题
通过代码创建列但是不显示,这个原因是因为代码创建的列Visible属性默认是false 所以需要设置为true就会显示了 gridColumn.Visible = true;
- 斐波那契散列算法和hashMap实践
斐波那契散列和hashMap实践 适合的场景:抽奖(游戏.轮盘.活动促销等等) 如果有不对的地方,欢迎指正! HashMap实现数据散列: 配置项目,引入pom.xml: <dependency ...