zetcode :: First programs in PyQt5
练习代码,详见网站 http://zetcode.com/gui/pyqt5/firstprograms/
import sys
from PyQt5 import QtWidgets
from PyQt5 import QtGui
from PyQt5 import QtCore
class TooltipExample(QtWidgets.QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 静态方法,设置Tooltip字体
QtWidgets.QToolTip.setFont(QtGui.QFont("SansSerif", 15))
self.setToolTip("This is a <b>QWidget</b> widget")
# tooltip持续1000毫秒
self.setToolTipDuration(1000)
btn = QtWidgets.QPushButton('Quit', self)
# QCoreApplication.instance 返回当前实例
btn.clicked.connect(QtCore.QCoreApplication.instance().quit)
btn.resize(btn.sizeHint())
btn.move(50, 50)
btn.setToolTip("This is a <b>QPushButton</b> widget")
btn.setToolTipDuration(1000)
# x,y,width,height
#self.setGeometry(300, 300, 300, 150)
self.resize(300,150)
self.center()
self.setWindowTitle("Tooltips")
def center(self):
wr = self.frameGeometry()
# QDesktopWidget::availableGeometry 返回屏幕rect
qr = QtWidgets.QDesktopWidget().availableGeometry().center()
# QRect:moveCenter 中心对齐
wr.moveCenter(qr)
# 实际调节窗口位置
self.move(wr.topLeft())
def closeEvent(self, event):
# 静态方法生成MessageBox,返回StandardButton
reply = QtWidgets.QMessageBox.question(self, 'Message', 'Are you sure to quit ?',
QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No,
QtWidgets.QMessageBox.No)
if reply == QtWidgets.QMessageBox.Yes:
event.accept()
else:
event.ignore()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
example = TooltipExample()
example.show()
sys.exit(app.exec_())
zetcode :: First programs in PyQt5的更多相关文章
- ZetCode PyQt4 tutorial First programs
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- Hello PyQt5
在 ubuntu 系统上 GUI 编程,PyQt5 是个不错的选择.首先,当然是安装 PyQt5 了.终端输入命令: pip3 install PyQt5 即可. 1. 建立一目录 x01.PyQtH ...
- win下搭建python3+PyQt5+eric6环境
一.安装python3 1.下载python3的安装包,默认安装即可,注意勾选 Add Python 3.6 to Path .但是这样默认安装的路径太长,不太方便找到,可选择定制安装,自己定义安装路 ...
- pyqt5 动画学习(四) 旋转动画,使用QGraphicsView让自己的控件旋转起来
今天学有所成,赶紧记下今天的成果 之前三篇文章分别演示了空间的大小改变,移动,及颜色变化.在后续研究旋转的过程中即为艰难 如果你是使用pyqt4,那么使用QGraphicsItemAnimation便 ...
- pyqt5 QGraphicsView颜色动画问题(不兼容,运行不了动画)
初学动画.无敌踩坑,资料真的是太少了.....本坑是一个大坑,只有解决方法,但实质原因仍不清楚 在一篇资料中了解到我们可以通过QGraphicsView来实现动画QPropertyAnimation ...
- pyqt5之简单窗口的创建
在学完tkinter后,发现tkinter在布局方面特别的不方便(Tkinter资料:http://effbot.org/tkinterbook/tkinter-index.htm),因此学习pyqt ...
- 程序员之路:python3+PyQt5+pycharm桌面GUI开发
http://blog.sina.com.cn/s/blog_989218ad0102wz1k.html 先看效果: 图 1 没错,学过C#的同学应该很熟悉这个界面,按钮风格和界面风格很相似,万万没想 ...
- pyqt5 -—-布局管理
绝对布局 例如: 我们使用move()方法定位了每一个元素,使用x.y坐标.x.y坐标的原点是程序的左上角. lbl1 = QLabel('Zetcode', self) lbl1.move(15, ...
- pyqt5 -——基本功能(HelloWorld)
一. 简单窗口 这个简单的小例子展示的是一个小窗口.但是我们可以在这个小窗口上面做很多事情,改变大小,最大化,最小化等,这需要很多代码才能实现.这在很多应用中很常见,没必要每次都要重写这部分代码,Qt ...
随机推荐
- 如何在通过knockout数据绑定的DOM元素上添加事件
通过knockout数据绑定的DOM元素,通过chrome控制台打断点知道,DOM元素会被暂时隐藏,使用document.querySelector()是获取不到的,会显示null,直到数据绑定完成才 ...
- 由于用mpu6050模块,所以要用上i2c通信原理。
i2c通信原理 i2c总线只有两根双向信号线,一根是数据线SDA,一根是时钟线SCL. 每个接到i2c总线上的器件都有唯一的地址,主机与其他器件之间的数据传送可以是由主机发送给其他器件.主机为发送器, ...
- Python开发【笔记】:单线程下执行多个定时任务
单线程多定时任务 前言:公司业务需求,实例当中大量需要启动定时器的操作:大家都知道python中的定时器用的是threading.Timer,每当启动一个定时器时,程序内部起了一个线程,定时器触发执行 ...
- LeetCode-Palindrome Partitioning II[dp]
Palindrome Partitioning II Given a string s, partition s such that every substring of the partition ...
- Webservice 实践
摘要: 实现webservice,spring ws,XFire实现方法未实现.(记得补上~) 1 概述 1.1关键技术 SOAP:简单对象存取协议.是XML Web Service 的通信协议.当用 ...
- 使用pdfbox分页保存pdf为图片
一.背景 pdfbox作为Apache开源的PDF操作工具,允许创建新的PDF文档,操作现有文档,以及从文档中提取内容的能力.Apache PDFBox还包括一些命令行实用工具.本文楼主主要介绍其中的 ...
- 关于JavaScript组件化的探索
Loaders 先放出项目地址:https://github.com/j20041426/Loaders 这是一个可以动态选择加载动画的样式和颜色的插件.这个项目仅仅是作为对js组件化的一个探索,不太 ...
- VPS安装中文语言
在CentOS VPS下修改语言编码: localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 export LC_ALL=zh_CN.utf8 上面第一步是用来产生编码文 ...
- javascript事件循环机制 浅尝手记
引入 众所周知Javascript是一个单线程的机制,虽然可以依托多线程的浏览器实现页面如何实现页面复杂的渲染.事件响应,但仍不会改变其单线程的本质:所以对于js的事件循环机制的了解是一个前端人员的必 ...
- NYOJ--353--bfs+优先队列--3D dungeon
/* Name: NYOJ--3533D dungeon Author: shen_渊 Date: 15/04/17 15:10 Description: bfs()+优先队列,队列也能做,需要开一个 ...