pyqt 发射接收信号
翻页控件:
一、定义并发射信号:
#!/usr/bin/python
# #coding=utf-8
# __author__='' from PyQt4.QtCore import *
from PyQt4.QtGui import * import pageItem_ui class pageItem(QWidget):
# 定义信号
emit_page_changed = pyqtSignal(int, int) def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.ui = pageItem_ui.Ui_Form() self.page_num = 1
self.page_rows = 50
self.total_page = 0
self.init_ui()
self.init_ui_data() def init_ui(self):
self.setObjectName('pageItem')
self.ui.setupUi(self)
self.setStyleSheet("QComboBox QAbstractItemView::item{height:25px;}")
self.ui.comboBox_show_page_num.setView(QListView()) regExp = QRegExp('^[1-9][0-9]*$')
self.ui.comboBox_show_page_num.setValidator(QIntValidator(1, 999, self))
self.ui.lineEdit_jump_page.setValidator(QRegExpValidator(regExp, self)) self.connect(self.ui.pushButton_jump, SIGNAL('clicked()'), self.slot_pushButton_jump_clicked)
self.connect(self.ui.pushButton_per_page, SIGNAL('clicked()'), self.slot_pushButton_per_clicked)
self.connect(self.ui.pushButton_next_page, SIGNAL('clicked()'), self.slot_pushButton_next_clicked) def init_ui_data(self):
self.setPageNum(1) def slot_pushButton_jump_clicked(self):
# 获取跳转数据
try:
page_jump_num = self.ui.lineEdit_jump_page.text().toInt()[0]
if page_jump_num > self.total_page or page_jump_num < 1:
return
self.setPageNum(page_jump_num)
self.emit_page_changed.emit(self.pageRows(), self.pageNum())
except Exception,e:
print str(e) def slot_pushButton_per_clicked(self):
'''
上一页
:return:
''' pageNum = self.pageNum() - 1 if pageNum < 0:
return self.setPageNum(pageNum) self.emit_page_changed.emit(self.pageRows(), self.pageNum()) def slot_pushButton_next_clicked(self):
'''
下一页
:return:
'''
pageNum = self.pageNum() + 1
if pageNum > self.total_page:
return
self.setPageNum(pageNum) self.emit_page_changed.emit(self.pageRows(), self.pageNum()) def pageRows(self):
'''
获取当前每页显示行数
:return 行数:
'''
pageRows = self.ui.comboBox_show_page_num.currentText().toInt()[0]
if pageRows <= 0:
pageRows = 50
self.page_rows = pageRows
return pageRows def pageNum(self):
'''
获取当前显示页数
:return:
'''
return self.page_num def setPageNum(self, pageNum):
'''
设置页数
:param pageNum:
:return:
'''
if pageNum <= 0:
pageNum = 1
self.page_num = pageNum
self.ui.lineEdit_jump_page.setText(QString.number(pageNum)) def setTotalRows(self, total):
'''
设置总行数
:param total:
:return:
''' if total < 0:
total = 0 pagetotal = total/self.page_rows
if (total%self.page_rows) != 0:
pagetotal += 1 self.total_page = pagetotal strPageNum = QString.number(pagetotal)
self.ui.label_total_page_num.setText(strPageNum)
if __name__ == '__main__':
print QString.number(1888)
一、接收信号:
# 接收信号
self.ui.widget_page.emit_page_changed.connect(self.slot_pageChanged)
self.ui.widget_list_page.emit_page_changed.connect(self.slot_list_pageChanged)
pyqt 发射接收信号的更多相关文章
- 第15.16节 PyQt(Python+Qt)入门学习:PyQt中的信号(signal)和槽(slot)机制以及Designer中的使用
老猿Python博文目录 老猿Python博客地址 一.引言 前面一些章节其实已经在使用信号和槽了,但是作为Qt中最重要的机制也是Qt区别与其他开发平台的重要核心特性,还是非常有必要单独介绍. 二.信 ...
- 第四章 、PyQt中的信号(signal)和槽(slot)机制以及Designer中的使用
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 前面章节其实已经在使用信号和槽了,但是作为Qt中最重要的机制也是Qt区别与其他开发平台的重 ...
- 使用uart串口接收模块接收信号,控制led灯闪烁
功能描述: 使用遵循uart协议的接收模块接收控制信号,用来控制led的闪烁. 设计输入: 1.uart输入信号 2.时钟信号 3.复位信号 4.led信号 设计思路: 总体上:前面已经写了串口接收模 ...
- 笔记本(WIN7|XP)发射wifi信号 当无线路由使用
Windows7系统 第一步:是你的电脑上要有两个网卡一个有线一个无线(笔记本应该都有)台式机可以考虑买个USB无线网卡(50左右) 第二步:win+R CMD 输入(只输入红色部分) netsh ...
- PyQt(Python+Qt)学习随笔:QListWidget的信号简介
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 不含继承信号,QListWidget自身的信号包括如下: currentItemChanged(QL ...
- PyQt(Python+Qt)学习随笔:信号签名中的万能Python类型PyQt_PyObject
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 信号在定义时参数如果使用字符串'PyQt_PyObject'表示参数可以是任何Python类型,这通 ...
- 第15.19节 PyQt(Python+Qt)入门学习:自定义信号与槽连接
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 本文利用中介绍了PyQt中的信号和槽机制,除了使用PyQt组件的已有信号外,PyQt和Qt ...
- 基于Arduino、STM32进行红外遥控信号接收
catalogue . 遥控器原理简介 . 红外遥控原理 . 常见红外遥控器红外线信号传输协议 . 遙控器的发展 . 实验过程 . 攻击面 . 基于STM32实现红外信号解码 1. 遥控器原理简介 0 ...
- Qt的事件模型(5种使用办法,通常重新实现event handler即可。只有定义控件才需要管理信号的发射)
Qt的事件模型 1.事件的概念 应用程序对象将系统消息接收为 Qt 事件.应用程序可以按照不同的粒度对事件加以监控.过滤并做出响应. 在 Qt 中,事件是指从 QEvent继承 的对象.Qt将事件发送 ...
随机推荐
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
转自:http://iaiai.iteye.com/blog/1992196 obtainmessage()是从消息池中拿来一个msg 不需要另开辟空间new new需要重新申请,效率低,obtian ...
- 购物车相关 js
<div class="caigou"> <form action="" method="post"> <di ...
- WebRTC的一个例子
内容引自:一个WebRTC实现获取内网IP的例子(穿透NAT) 网页代码直接复制到下面(如果以上链接被墙,可以直接将下面代码保存文件,然后在浏览器打开即可,不支持IE浏览器): <!doctyp ...
- 参数名ASCII码从小到大排序(字典序)
/// <summary> /// Hashtable字典排序 /// </summary> /// <param name="parameters" ...
- Unity 好坑的Save Scene
在编辑一个Untiy工程的时候,有很多的教程提到了 "Save Scene",也知道是干么用的.但是,后面打开工程的时候,工程界面是很多东西都不见了,又忘了有个Save Scene ...
- javaee 导航
tomcate端口设定和服务器虚拟目录设定 静态web 应用和动态web应用 tomcat相关问题 web应用 http 响应 url uri 动态页面 servlet 一个简单的servlet的de ...
- js_闭包
先从闭包特点解释,应该更好理解.闭包的两个特点:1.作为一个函数变量的一个引用 - 当函数返回时,其处于激活状态.2.一个闭包就是当一个函数返回时,一个没有释放资源的栈区.其实上面两点可以合成一点,就 ...
- [原创]用windows7连接windows2003的终端服务器时,出现"由于这台计算机没有远程桌面客户端访问许可证,远程会话被中断"的问题
用windows7连接windows2003的终端服务器时,出现"由于这台计算机没有远程桌面客户端访问许可证,远程会话被中断"的问题,原因是终端服务器授权方式设置为了"每 ...
- 图文相关性 flickr数据实验结论_1
初始化的选取很重要,random_uniform的效果远远好于random_normal, 是否有bias对效果影响很小 红色是random_uniform初始化,对比random_normal初始化 ...
- Android基础学习第二篇—Activity
写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对 ...