首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
PyQt 中sender()
2024-09-01
pyqt sender()学习
#!/usr/bin/python # -*- coding: utf-8 -*- # sender.py import sys from PyQt4 import QtGui, QtCore class Example(QtGui.QMainWindow): def __init__(self): super(Example, self).__init__() self.initUI() def initUI(self): button1 = QtGui.QPushButton("Button
第15.16节 PyQt(Python+Qt)入门学习:PyQt中的信号(signal)和槽(slot)机制以及Designer中的使用
老猿Python博文目录 老猿Python博客地址 一.引言 前面一些章节其实已经在使用信号和槽了,但是作为Qt中最重要的机制也是Qt区别与其他开发平台的重要核心特性,还是非常有必要单独介绍. 二.信号和槽的概念 2.1.概述 信号和槽是Qt特有的信息传输机制,是Qt设计程序的重要基础,它可以让互不干扰的对象建立一种联系. 信号和槽用于对象间的通信,在一个图形界面程序中,当一个部件中发生变化时,通常需要通知其他对象,在Qt中当采用特定事件发生时会发射(注意此处用的是发射(emit)而不是发送,老
Pyqt 中__init__(self,parent==None) parent理解
参考: 在PyQt中,所有class都是从QObject派生而来,QWidget对象就可以有一个parent.这种parent-child关系主要用于两个方面: 没有parent的QWidget类被认为是最上层的窗体(通常是MainWindow),由于MainWindow的一些操作生成的新窗体对象,parent都应该指向MainWindow. 由于parent-child关系的存在,它保证了child窗体在主窗体被回收之时也被回收. parent作为构造函数的最后一个参数被传入,但通常情况下不必
pyqt中使用matplotlib绘制动态曲线
一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟,每一秒钟绘制一个点,X轴长度超过1分钟,则左移1秒刻度,实现动态效果 2)Y轴显示随机变化的数值,1-100 三.准备工作 1环境:python3.3,eric5,pyqt4 四.开始动手: 使用Eric创建新项目: 在设计编码前期主要用到Eric的两个窗口:源码和窗体浏览器,类似delphi.
pyqt中使用matplotlib绘制动态曲线 – pythonic
一.项目背景: 看了matplotlib for python developers这本书,基本掌握了在pyqt中显示曲线的做法,于是自己写一个. 二.需求描述: 1)X轴显示时间点,显示长度为1分钟,每一秒钟绘制一个点,X轴长度超过1分钟,则左移1秒刻度,实现动态效果 2)Y轴显示随机变化的数值,1-100 三.准备工作 1环境:python3.3,eric5,pyqt4 四.开始动手 : 使用Eric创建新项目: 在设计编码前期主要用到Eric的两个窗口:源码和窗体浏览器,类似delphi.
PyQt中如何隐藏Menu
PyQt中隐藏一个Menu Item,可以通过QAction的setVisible(False)来设置,而QMenu的setVisible(False)是不管用的. 现在问题来了,我们有一个菜单,它有一些子菜单,如何隐藏它呢? fileMenu = self.menuBar().addMenu('File')self.newMenu = fileMenu.addMenu('New')self.newMenu.addAction('New Work')self.newMenu.addAction(
Qt与PyQT中设置ToolBar在AllowedArea的显示
因为个人对传统的软件GUI界面不是太喜欢,最近又在学习Qt和PyQt5,所以就有了设置ToolBar在窗口的不同地方的想法,经过浪里淘沙,最终在Qt官网里找到了,原来再添加toolBar的时候是由设置toolbar位置的参数(addToolBar()有多个重载),只是有很多的教材都忽略了这么一个参数. 这是QMainWindow中的各个构成框架,通过他可以清晰的了解各个控件可以放置的位置,对QMainWindow也有一个比较直观的了解. 以下是Qt官网上关于该类(在QMainWindow)的添加
[技术博客]Pyqt中View类别容器和Widget类别容器的区别
Pyqt中View类别容器和Widget类别容器的区别 简介 在beta迭代中,我们选择用pyqt5来重写alpha迭代中使用tkinter库编写的界面. 按钮之类的与tkiner使用无异,在显示"测试报告"和"测试队列"这方面,我打算使用列表类控件,但是在qt designer中发现了两个看起来类似的控件:QListView和QListWidget.这两个控件有什么区别呢? 从文档中我得知,QListWidget是继承自QListView的,其他Widget容
第三十四章、PyQt中的输入部件:QComboBox组合框功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 Designer中输入工具部件中的Combo Box组合框与其他可视化工具组合框功能相同,组合了按钮和弹出列表的功能,显示当前项并可以弹出可选择项的列表.组合框可以编辑,允许用户修改列表中的每个项.Combo Box组合框对应PyQt中的类QComboBox. QComboBox组合框使用Model/View框架来弹出列表和存储项,默认情况下项存储在 QSt
PyQt学习随笔:PyQt中捕获键盘事件后获取具体按键值的方法
在PyQt中,如果要捕获键盘事件的具体按键,可以通过重写组件对象的keyPressEvent方法或event方法来捕获具体的按键,推荐使用keyPressEvent方法,因为event方法是一个通用事件,如果要处理键盘事件需要增加单独的判断,并影响其他事件的响应处理速度. 语法: keyPressEvent(self,event) 其中: event类型为QKeyEvent,该类型是从QInputEvent继承,而QInputEvent是从QEvent继承. 该方法没有返回值. 获取按键值的方法
PyQt(Python+Qt)学习随笔:Qt中的部分类型QString、QList和指针、引用在PyQt中的实现方式
老猿Python博文目录 老猿Python博客地址 在我们查阅Qt的文档资料时,可以看到Qt中的链表使用的是QList,字符串使用的是QString,但老猿在测试时发现这两个类型PyQt不支持,无法找到导入模块.实际上PyQt使用了Python的可迭代类型如list类型替换了QList,str替换了QString. 另外,对于C语言支持的指针和引用,在Python中无对应类型,因此PyQt实现时,是将这两者直接使用去除指针和引用的变量的数据类型替换,如int * 使用int替换. 所以如果在Qt
在PyQt中构建 Python 菜单栏、菜单和工具栏
摘要:菜单.工具栏和状态栏是大多数GUI 应用程序的常见且重要的图形组件.您可以使用它们为您的用户提供一种快速访问应用程序选项和功能的方法. 本文分享自华为云社区<Python 和 PyQt:创建菜单.工具栏和状态栏>,作者:Yuchuan. 在使用 Python 和PyQt开发图形用户界面 (GUI)应用程序时,您将使用的一些最有用和最通用的图形元素是菜单.工具栏和状态栏. 菜单和工具栏可以使您的应用程序看起来精美和专业,为用户提供一组可访问的选项,而状态栏允许您显示有关应用程序状态的相关信
如何在pyqt中自定义无边框窗口
前言 之前写过很多关于无边框窗口并给窗口添加特效的博客,按照时间线罗列如下: 如何在pyqt中实现窗口磨砂效果 如何在pyqt中实现win10亚克力效果 如何在pyqt中通过调用SetWindowCompositionAttribute实现Win10亚克力效果 如何在pyqt中在实现无边框窗口的同时保留Windows窗口动画效果(一) 如何在pyqt中给无边框窗口添加DWM环绕阴影 如何在pyqt中在实现无边框窗口的同时保留Windows窗口动画效果(二) 里面有几篇博客用了 C++ 的 dll
如何在pyqt中使用 QGraphicsView 实现图片查看器
前言 在 PyQt 中可以使用很多方式实现照片查看器,最朴素的做法就是重写 QWidget 的 paintEvent().mouseMoveEvent 等事件,但是如果要在图像上多添加一些形状,那么在对图像进行缩放旋转等仿射变换时需要对这些形状也这些变换,虽然不难,但是从头实现这些变换还有形状还是挺讨厌的.好在 Qt 提供了图形视图框架,关于这个框架的基本使用可以参见 <快速掌握PyQt5>第三十四章 图形视图框架,下面进入正题. 实现方式 一个最基本的照片查看器应该具有以下功能: 载入图像
如何在pyqt中实现窗口磨砂效果
磨砂效果的实现思路 这两周一直在思考怎么在pyqt上实现窗口磨砂效果,网上搜了一圈,全都是 C++ 的实现方法.正好今天查python的官方文档的时候看到了 ctypes 里面的 HWND,想想倒不如换一条思路:让 C++ 帮我做磨砂的事情,而我只需要在python中调用 dll 中的接口函数就行了.需要注意的是,要想成功调用这个dll必须安好MSVC,不想安的话可以参见<如何在pyqt中通过调用SetWindowCompositionAttribute实现Win10亚克力效果>,这里面用纯p
如何在pyqt中实现win10亚克力效果
亚克力效果的实现思路 上一篇博客<如何在pyqt中实现窗口磨砂效果> 中实现了win7中的Aero效果,但是和win10的亚克力效果相比,Aero还是差了点内味.所以今天早上又在网上搜了一圈,无意中发现了这篇博客<使用 SetWindowCompositionAttribute 来控制程序的窗口边框和背景>,点进去认真看了一遍之后深受启发,于是又去改了一下上次实现Aero效果时所用的函数,重新编译为dll给python调用,需要注意的是,要想成功使用编译好的dll必须在Visual
如何在pyqt中通过调用 SetWindowCompositionAttribute 实现Win10亚克力效果
亚克力效果 在<如何在pyqt中实现窗口磨砂效果>和<如何在pyqt中实现win10亚克力效果>中,我们调用C++ dll来实现窗口效果,这种方法要求电脑上必须装有MSVC.Visual Studio装起来确实费时又占C盘空间,所以今天在python中直接调用 SetWindowCompositionAttribute,关于更多无边框窗体的解决方案可以参见<如何在pyqt中自定义无边框窗口>.下面是这次的亚克力效果(硝子太美了(๑¯∀¯๑)): 具体代码 结构体和枚举类
如何在pyqt中在实现无边框窗口的同时保留Windows窗口动画效果(一)
无边框窗体的实现思路 在pyqt中只要 self.setWindowFlags(Qt.FramelessWindowHint) 就可以实现边框的去除,但是没了标题栏也意味着窗口大小无法改变.窗口无法拖拽和窗口阴影的消失.网上有很多介绍pyqt自定义标题栏的方法,几乎都是通过处理 mousePressEvent . mouseReleaseEvent 以及 mouseMoveEvent 来实现的,在移动的过程中是可以看到窗口的内容的.在没有给窗口打开Windows的亚克力效果时这种方法还能凑合着用
如何在pyqt中给无边框窗口添加DWM环绕阴影
前言 在之前的博客<如何在pyqt中通过调用SetWindowCompositionAttribute实现Win10亚克力效果>中,我们实现了窗口的亚克力效果,同时也用SetWindowCompositionAttribute() 给亚克力窗口加上了阴影.但是更多时候我们用不到亚克力效果,但又需要给无边框窗口加上阴影.一种方法是在当前窗口外嵌套一层窗口,然后用 QGraphicsDropShadowEffect 给里面的窗口加上阴影,还有一种就是重写 paintEvent()来绘制阴影.下面来
如何在pyqt中实现带动画的动态QMenu
弹出菜单的视觉效果 QLineEdit 原生的菜单弹出效果十分生硬,而且样式很丑.所以照着Groove中单行输入框弹出菜单的样式和动画效果写了一个可以实现动态变化Item的弹出菜单,根据剪贴板的内容是否为文本.编辑框是否有文本以及是否有选中文本分为6种情况,大体效果如下所示(ヾ(๑╹◡╹)ノ" 硝子依旧如此迷人: 具体实现流程 Menu 类 Menu 继承自 QMenu,在这个类中通过调用自定义类 WindowEffect 的方法来调用win10的api从而实现Aero效果和阴影效果,定义Win
如何在 pyqt 中捕获并处理 Alt+F4 快捷键
前言 如果在 Windows 系统的任意一个窗口中按下 Alt+F4,默认行为是关闭窗口(或者最小化到托盘).对于使用了亚克力效果的窗口,使用 Alt+F4 最小化到托盘,再次弹出窗口的时候可能出现亚克力背景和窗口阴影失效的问题,如下图所示: 所以本篇博客将会介绍在 PyQt 中捕获并处理 Alt+F4 的方法,亚克力无边框窗口的实现方法参见 <如何在 pyqt 中自定义无边框窗口>,下面进入正题. 实现过程 对于快捷键处理,第一反应是重写 keyPressEvent() ,但是对于 Alt+
热门专题
python 数组转json
Android xml 修改后 不生效
Verdi中怎么import design
无法在web上启用调试 403
springboot mongodb 动态数据源
vue echarts legend formatter方法
vc 控件值改变 更新其他 死循环
硬参数共享和软参数共享
linux 运行方式
jsp打到springbootjar包中
pandas 去掉某一列
kthread使用方法
总体服从均匀分布求样本的次序统计量的极差
请寻找最长的区间L,R,满足至多仅包含两种数字
192.168.1.1 16 多少个地址
react 前端预览pdf文件
goes to lambda表达式
latex 还原符号
storyboard文件是什么
NVIDIA显卡Perf解释