Python气泡提示与标签的实现


Posted in Python onApril 01, 2020

来更新Gui教程了!!!

今天我们讲气泡提示,就是这个样子的。

Python气泡提示与标签的实现

那个‘这是一个气泡提示'就是气泡提示,朋友们肯定有些会‘哦,原来就是这个呀。',也有些朋友会说:“这不是电脑自带的吗”。这个问题在我刚学编程的时候,也是这样。比如我一开始先是学Scratch,然后目标是编一个植物大战僵尸。当我去编的时候(没学过,因为很简单,一看就懂。),以为太阳从天上掉下来的效果是编的时候不用编,而是以为自带的。结果还要涉及到什么随机数,好了,说远了…

代码上!!!

import sys
from PyQt5.QtWidgets import QWidget, QToolTip, QApplication
from PyQt5.QtGui import QFont

class Example(QWidget):
  def __init__(self):
    super().__init__()
    self.settings()

  def settings(self):
    self.setGeometry(300, 300, 400, 300)
    self.setWindowTitle('啥都行')
    self.setToolTip('气泡提示')  #气泡提示
    QToolTip.setFont(QFont('microsoft Yahei', 10)) #字体格式
    self.show()

if __name__ == '__main__':
  app = QApplication(sys.argv)
  ex = Example()
  sys.exit(app.exec_())

很明显,我们用setToolTip创建了一个气泡提示。然后这里要注意,这里是self.setToolTip,就是说在整个界面都可显示气泡,而不是在某个字上或按钮上(后面讲)然后就是字体。设置字体的两个参数分别是字体名字与大小。

刚刚提到了标签,那我们也来讲一讲,至于按钮,就有点复杂,所以下一期讲吧。

代码呢?滚出来!

import sys
from PyQt5.QtWidgets import QWidget, QLabel, QApplication
from PyQt5.QtGui import QPixmap
class Example(QWidget):
  def __init__(self):
    super().__init__()
    self.settings()

  def settings(self):
    self.setGeometry(300, 300, 300, 200)
    self.setWindowTitle('啥都行')
    self.a = QLabel(self)
    self.a.setToolTip('气泡提示')
    self.a.setText('关注一下吧!')
    self.a.move(50,50)
    print(self.a.text())
    self.show()

if __name__ == '__main__':
  app = QApplication(sys.argv)
  ex = Example()
  sys.exit(app.exec_())

大家注意了,这里的气泡提示就只能在‘关注一下吧'标签上看到了,这个标签以外的地方都无法看到这个气泡提示。可能有些朋友不知道怎么看气泡提示,就是将光标放在气泡提示的地方,等一会儿就出现了。

这个QLabel就是标签,也可以设置字体。只不过我没展示出来。self.a.text()是获取self.a的文本,如果你只是打印self.a,那么结果就是:
<PyQt5.QtWidgets.QLabel object at 0x053A4300>
这个0x053A4300是程序每次执行分配给变量或者其它的什么的一个ID,ID相当于每个人的身份证。

如果你要查看self.a的类型,那么就是这个:
<class ‘PyQt5.QtWidgets.QLabel'>

大家一定要注意,这个非常重要!!!
标签的内容只能是字符串!!!,大家应该知道我以前的博客除了QQ之外没加粗过字体。为什么我这么重视,大家看个例子:

import sys
from PyQt5.QtWidgets import QWidget, QLabel, QApplication,QPushButton
class Example(QWidget):
  def __init__(self):
    super().__init__()
    self.initUI()

  def initUI(self):
    self.setGeometry(300, 300, 300, 200)
    self.setWindowTitle('QLabel标签')
    self.a = QLabel(self)
    self.a.setText('变数字')
    self.a.move(50,50)
    self.b = QPushButton('确定',self)
    self.b.clicked.connect(self.buttonClicked)
    self.b.move(100,100)
    self.show()

  def buttonClicked(self):
    self.a.setText('123')

if __name__ == '__main__':
  app = QApplication(sys.argv)
  ex = Example()
  sys.exit(app.exec_())

这里面涉及到按钮,大家不用管,反正下一期会讲。大概的目标就是按一下按钮,标签会变成另外的内容。

如果你用的是pycharm,那么按一下按钮就会这样:

Python气泡提示与标签的实现

如果你运行成功的话,应该是0,但是这里是1。但是又不报错。

如果用的是Sublime Text3:

Python气泡提示与标签的实现

你就根本不知道有什么错。所以在这里我和大家一再强调:
标签的内容只能是字符串!!!

接着说。这个move就是将对象移动到界面的某个位置,以像素为单位。标签也可以是gif或者图片。gif的话就是用QMovie,这个大家自行搜索,因为我懒得去搜一个gif动图。所以我只和大家说图片。

import sys
from PyQt5.QtWidgets import QWidget, QLabel, QApplication
from PyQt5.QtGui import QPixmap
class Example(QWidget):
  def __init__(self):
    super().__init__()
    self.initUI()

  def initUI(self):
    self.setGeometry(300, 300, 300, 200)
    self.setWindowTitle('QLabel标签')
    self.a = QLabel(self)
    self.a.setToolTip('气泡提示')
    self.a.move(50,50)
    print(self.a.text())
    b = QLabel(self)
    b.setPixmap(QPixmap('图片名字'))
    b.move(100,100)
    self.show()

if __name__ == '__main__':
  app = QApplication(sys.argv)
  ex = Example()
  sys.exit(app.exec_())

到此这篇关于Python气泡提示与标签的实现的文章就介绍到这了,更多相关Python气泡标签内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
wxPython事件驱动实例详解
Sep 28 Python
使用python开发vim插件及心得分享
Nov 04 Python
Python脚本实现DNSPod DNS动态解析域名
Feb 14 Python
Python返回真假值(True or False)小技巧
Apr 10 Python
Python实现的径向基(RBF)神经网络示例
Feb 06 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
May 04 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
8种用Python实现线性回归的方法对比详解
Jul 10 Python
在Python中利用pickle保存变量的实例
Dec 30 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
Python拼接字符串的7种方式详解
Mar 19 Python
Python中的整除和取模实例
Jun 03 Python
django 多数据库及分库实现方式
Apr 01 #Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
Apr 01 #Python
Django更新models数据库结构步骤
Apr 01 #Python
pycharm工具连接mysql数据库失败问题
Apr 01 #Python
利用Python自动化操作AutoCAD的实现
Apr 01 #Python
python使用信号量动态更新配置文件的操作
Apr 01 #Python
python和pywin32实现窗口查找、遍历和点击的示例代码
Apr 01 #Python
You might like
php &amp;&amp; 逻辑与运算符使用说明
2010/03/04 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
php 截取字符串并以零补齐str_pad() 函数
2011/05/07 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
js实现圆盘记速表
2015/08/03 Javascript
vue,angular,avalon这三种MVVM框架优缺点
2016/04/27 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
纯js+css实现在线时钟
2020/08/18 Javascript
javascript实现多边形碰撞检测
2020/10/24 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
[56:01]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 Effect vs EG
2018/03/31 DOTA
python将xml xsl文件生成html文件存储示例讲解
2013/12/03 Python
Python中的fileinput模块的简单实用示例
2015/07/09 Python
Python实现注册登录系统
2017/08/08 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
python删除不需要的python文件方法
2018/04/24 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
Django 路由层URLconf的实现
2019/12/30 Python
如何通过Python实现RabbitMQ延迟队列
2020/11/28 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
给国外客户的邀请函
2014/01/30 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
房地产端午节活动方案
2014/08/24 职场文书
地方白酒代理协议书
2014/10/25 职场文书
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python