pyqt lineedit右边显示按钮效果

from PyQt4 import QtGui, QtCore

class ButtonLineEdit(QtGui.QLineEdit):

buttonClicked = QtCore.pyqtSignal(bool)

def __init__(self, icon_file, parent=None):

super(ButtonLineEdit, self).__init__(parent)

self.button = QtGui.QToolButton(self)

self.button.setIcon(QtGui.QIcon(icon_file))

self.button.setStyleSheet(‘border: 0px; padding: 0px;‘)

self.button.setCursor(QtCore.Qt.ArrowCursor)

self.button.clicked.connect(self.buttonClicked.emit)

frameWidth = self.style().pixelMetric(QtGui.QStyle.PM_DefaultFrameWidth)

buttonSize = self.button.sizeHint()

self.setStyleSheet(‘QLineEdit {padding-right: %dpx; }‘ % (buttonSize.width() + frameWidth + 1))

self.setMinimumSize(max(self.minimumSizeHint().width(), buttonSize.width() + frameWidth*2 + 2),

max(self.minimumSizeHint().height(), buttonSize.height() + frameWidth*2 + 2))

def resizeEvent(self, event):

buttonSize = self.button.sizeHint()

frameWidth = self.style().pixelMetric(QtGui.QStyle.PM_DefaultFrameWidth)

self.button.move(self.rect().right() - frameWidth - buttonSize.width(),

(self.rect().bottom() - buttonSize.height() + 1)/2)

super(ButtonLineEdit, self).resizeEvent(event)

import sys

from PyQt4 import QtGui

def buttonClicked():

print ‘You clicked the button!‘

if __name__ == ‘__main__‘:

app = QtGui.QApplication(sys.argv)

main = ButtonLineEdit(r‘C:\Users\Administrator\Desktop\a.jpg‘)

main.buttonClicked.connect(buttonClicked)

main.show()

sys.exit(app.exec_())

时间: 2024-10-07 16:51:49

pyqt lineedit右边显示按钮效果的相关文章

C# 如何定义让PropertyGrid控件显示[...]按钮,并且点击后以下拉框形式显示自定义控件编辑属性值

关于PropertyGrid控件的详细用法请参考文献: 1.C# PropertyGrid控件应用心得 2.C#自定义PropertyGrid属性 首先定义一个要在下拉框显示的控件: using System; using System.Windows.Forms; namespace Simon.WinForms.Examples.PropertyGrid { public class EditorControl : UserControl { public EditorControl() {

jquery实现的随机显示图片效果代码

jquery实现的随机显示图片效果代码:下面介绍一下,点击按钮就可以实现图片的随机切换效果,代码实现非常的简单.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <head> <tit

仿淘宝分页按钮效果简单美观易使用的JS分页控件

分页按钮思想: 1.少于9页,全部显示 2.大于9页,1.2页显示,中间页码当前页为中心,前后各留两个页码 附件中有完整例子的压缩包下载.已更新到最新版本 先看效果图: 01输入框焦点效果 02效果 模仿淘宝的分页按钮效果控件kkpager  JS代码: Js代码   var kkpager = { //divID pagerid : 'div_pager', //当前页码 pno : 1, //总页码 total : 1, //总数据条数 totalRecords : 0, //是否显示总页数

UITableViewCell左滑显示按钮菜单

http://blog.jobbole.com/67272/ 编辑模式下左滑可以显示DELETE按钮.如何可以自定义左滑显示的按钮呢? 整体思路 1.自定义UITableViewCell,并为其contentView添加左滑时希望显示的按钮. 2.在contentView上添加一个相同大小subView,作为正常情况下tableViewCell显示的内容. 3.为此subView添加pan事件,滑动的时候移动其位置,使按钮可以显示出来. 需要注意的问题 具体实现(仿微信效果) 新建自定义的Tab

自定义控件三部曲之绘图篇(二十)——RadialGradient与水波纹按钮效果

前言:每当感叹自己的失败时,那我就问你,如果让你重新来一次,你会不会成功?如果会,那说明并没有拼尽全力. 最近博主实在是太忙了,博客更新实在是太慢了,真是有愧大家. 这篇将是Shader的最后一篇,下部分,我们将讲述Canvas变换的知识.在讲完Canvas变换以后,就正式进入第三部曲啦,是不是有点小激动呢-- 今天给大家讲的效果是使用RadialGradient来实现水波纹按钮效果,水波纹效果是Android L平台上自带的效果,这里我们就看看它是如何实现的,本篇的最终效果图如下 一.Radi

html设计隐藏与显示的效果

   隐藏与显示  很多时候我们需要隐藏网页的一些东西,或者说APP(比如phonegap用html5,js开发安卓应用,IOS应用)也一样. 这里我总结了几种方式: 注意,这里需要引入jquery的包,我给大家一个下载地址 http://down.51cto.com/data/1357745 . 记得在自己的网页所在目录下创建目录jquery,把包放进去就好了. 1. 使用jquery的hide()和show()方法. 代码如下,大家可以复制去试试.            使用hide()隐藏

类似ipad上的split,左边的tableview控制右边显示不同的视图

类似ipad上的split,左边的tableview控制右边显示不同的视图        最近要做一个项目,这个项目在ipad上运行,需要页面横向放置,首先,先记录一下怎么让程序运行后页面横向显示,我设置了一个基类的视图控制器,下边就称作base页面. 这个控制器里,填写一段这样的代码,所有的页面都继承自这个视图控制器,起到所有的页面都是横向展示 #pragma mark - #pragma mark -继承自这个类,以便于页面自动就会横屏 - (BOOL)shouldAutorotateToI

鼠标经过显示按钮的详细信息

之前介绍了几款css3实现的按钮,今天为网友来款比较新鲜的,用css3的data-attribute属性开发按钮,当鼠标经过显示按钮的详细信息.而且实现过程很简单,几行代码就搞定.大家试一试吧.如下图: 不错吧,贴上实现代码: html代码: <button data-hover="爱编程(w2bc.com)收集编程资料,web前端案例"> 爱编程</button> <button data-hover="爱编程(w2bc.com)收集编程资料,

CSS3模拟实现iphone返回按钮效果

CSS3模拟实现iphone返回按钮效果:大家知道现在CSS3可以实现各种漂亮的效果,以前只有图片可以实现的效果,现在CSS3实现起来难度也不是太高.下面分享一段使用CSS3实现的iphone返回按钮的效果,其实这种CSS3代码根本就不用分析,只要给出代码实例,自己就完全可以看明白,当然你要首先知道各个属性的作用是什么,代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&q