PyQt5

窗口类继承QMainWindow。

1、消息盒子QMessageBox

弹出一个窗口,根据选择的不同执行不同的操作。比如点击关闭后,实用消息盒子确认是否关闭。

# 关闭QWidget将产生QCloseEvent事件,重写closeEvent
def closeEvent(self, event):
# 标题,提示内容,选择,默认选择
replay = QMessageBox.question(self, 'Message', 'Do you want to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if replay == QMessageBox.Yes:
event.accept()
else:
event.ignore()

2、提示框setToolTip

当指针悬浮在这只状态栏的组件时,显示状态栏。比如指针悬停在按钮上,按钮显示This is a button。

button.setToolTip('This is a button')

3、菜单栏menuBar

菜单栏大家都懂的,点一下就有很多选择。

每个选择都是一个动作QAction,点一下会触发触发器绑定的内容。然后我们创建一个菜单栏menubar,并且添加了一个File菜单,在File菜单里绑定了动作。

“”“
File
└-Exit
”“”
# 动作标签为Exit
exitAct = QAction('Exit', self)
# 设置快捷键
exitAct.setShortcut('Ctrl+W')
# 设置状态栏,鼠标悬停能看到状态栏变化
exitAct.setStatusTip('Exit application')
# 绑定触发器
exitAct.triggered.connect(qApp.quit) # 创建菜单栏
menubar = self.menuBar()
# 添加一个叫File的菜单
file_menu = menubar.addMenu('File')
# File菜单绑定动作
file_menu.addAction(exitAct)

4、子菜单QMenu

“”“
File
└-Other-
└-Exit
”“”
exitAct = QAction('Exit', self)
exitAct.setShortcut('Ctrl+W')
exitAct.setStatusTip('Exit application')
exitAct.triggered.connect(qApp.quit)
menubar = self.menuBar()
# 菜单栏加菜单File
file_menu = menubar.addMenu('File')
# 创建子菜单
sub_menu = QMenu('Other', self)
# 子菜单绑定动作
sub_menu.addAction(exitAct)
# 子菜单添加到File菜单
file_menu.addMenu(sub_menu)

5、右键菜单

参考

PyQt5 中文教程

PyQt5笔记的更多相关文章

  1. PyQt5 笔记(02):嵌套布局

    如前一篇笔记,我们还是只讨论两层嵌套布局的情况. 前面的布局有一个缺点:有三个内层布局,则需要三个空部件.那若有十个内层布局呢?显然会让人不舒服. 刚才在玩 Qt Designer 时,发现了一个更好 ...

  2. pyqt5 笔记(三)py2exe 实现代码打包exe

    python3.4 安装64位的版本 py2exe 下载地址: https://pypi.python.org/pypi/py2exe/0.9.2.0#downloads cmd——>进入pyf ...

  3. pyqt5 笔记(二)实现http请求发送

    上个图~ index.py 文件 # -*- coding: utf-8 -*- from PyQt5 import QtWidgets,QtCore #从pyqt库导入QtWindget通用窗口类 ...

  4. PyQt5 笔记(05):信号/槽

    PyQt 的很多类都内置了信号和槽.下图是 Qt 官方文档对 QThread 类中包含的信号/槽的描述: 一.信号/槽 都是内置的 请看一个最简单的程序: 按钮点击后,窗口关闭 代码: class T ...

  5. PyQt5 笔记(04):主窗口卡死问题

    本文基于:windows 7 + python 3.4 知识点: 1. 将 time.sleep 替换为 QTimer 2. 将 time.sleep 放入到 QThread 3. 使用 QThrea ...

  6. PyQt5 笔记(03):弹出窗口大全

    本文实现了PyQt5个各种弹出窗口:输入框.消息框.文件对话框.颜色对话框.字体对话框.自定义对话框 其中,为了实现自定义对话框的返回值,使用了信号/槽 本文基于 windows 7 + python ...

  7. PyQt5 笔记(01):嵌套布局

    PyQt5 有四种布局:水平(QHBoxLayout).竖直(QVBoxLayout).网格(QGridLayout).表单(QFormLayout)在窗体中单一的布局应该不难,但若是比较复杂的布局, ...

  8. PyQt5笔记之标签

    标签 QLabel用于显示文本或图像.没有提供用户交互功能.标签的视觉外观可以通过各种方式进行配置,并且可以用于为另一个窗口小部件指定焦点助记键. 一个QLabel可以包含以下任意内容类型: 内容 设 ...

  9. PyQt5笔记之布局管理

    代码:界面与逻辑分离 这是使用Designer做出的GUI,然后通过转换得到的Py代码.(界面文件) # -*- coding: utf-8 -*- # Form implementation gen ...

  10. PyQt5笔记之菜单栏

    目录 菜单栏 创建单层菜单 创建多层菜单 右键打开菜单 官方菜单实例 菜单常用方法 菜单栏 创建单层菜单 import sys from PyQt5.QtWidgets import QApplica ...

随机推荐

  1. Docker 如何动态修改容器端口映射

    Docker端口映射往往是Docker Run命令时通过-p将容器内部端口映射到宿主机的指定端口上,一般来说容器的端口所对应的端口是提前确定需要映射的.但是有些情况下不得不需要临时映射端口,例如Doc ...

  2. CMU数据库(15-445)实验2-b+树索引实现(上)

    Lab2 在做实验2之前请确保实验1结果的正确性.不然你的实验2将无法正常进行 环境搭建地址如下 https://www.cnblogs.com/JayL-zxl/p/14307260.html 实验 ...

  3. jmeter三种阶梯式加压

    一.前言 在做性能测试的时候,在某些场景下需要逐渐加压,不总是停下来再修改线程再加压,且可以对比加压,找出服务的性能拐点. 二.三种逐渐加压方式 备注:普通的压测方式,并发的Samples是可预知的: ...

  4. MySQL新特性MTS

    一.MTS:多线程复制 MTS简介 在MySQL 5.6版本之前,Slave服务器上有两个线程I/O线程和SQL Thread线程.I/O线程负责接收二进制日志(Binary Log,更准确的说是二进 ...

  5. hessian-serialization

    http://hessian.caucho.com/doc/hessian-serialization.html Table of Contents 1.  Introduction2.  Desig ...

  6. V2版的接口在V3版里面都能找到对应接口 数据结构

    开发文档 - 微信支付商户平台 https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/api.shtml 版本选择 关闭 V2版接口和V3版接口实际 ...

  7. 隐性 URL 转发代码

    隐性转发的优势体现于无需跳转和变动浏览器地址栏,即可实现转发. <!DOCTYPE html> <html lang="zh-CN"> <head&g ...

  8. JPEG解码——(3)文件头解析

    与具体的编码数据空间相比,jpeg文件头占据非常小乃至可以忽略不计的大小. 仍然拿JPEG解码--(1)JPEG文件格式概览中的<animal park>这张图片来举例,从跳过SOS(FF ...

  9. eclipse项目放到github

    一,下载git ,配置用户名和邮箱: git config --global user.name "name"       git config --global user.ema ...

  10. log工具类

    package com.pt.platform.core.common; import java.text.SimpleDateFormat; import java.util.Date; impor ...