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将事件发送 ...
随机推荐
- nexus的使用
一.在百度网盘或官网下载nexus,并部署. 注意修改: https://repository.apache.org/content/repositories/releases/ 二.下载m ...
- HTTP Status 400 - Required String parameter 'userName' is not present 错误
HTTP Status 400 - Required String parameter 'userName' is not present 错误 先mark 有时间详细写 参考链接: https:/ ...
- python基础八
面向对象的好处 更容易扩展.提高代码使用效率,使你的代码组织性更强, 更清晰,更适合复杂项目的开发 封装 把功能的实现细节封装起来,只暴露调用接口 继承 多态 接口的继承 定义 类 ===> ...
- 算法练习_图的连通性问题(JAVA)
一.问题 1.问题描述: 有n个点(1...n),输入整数对(8,9),表示8,9点之间存在相互的连接关系. 动态连通性问题--编写一段程序过滤掉所以无意义的整数对,即为在不破坏图连通性的前提下,以最 ...
- Mac 使用Sublime Text 3 搭建C开发环境
Sublime Text 3 (安装包,注册码 ,汉化包) 1)工具-编译系统-新建编译器 { "cmd" : ["gcc -o ${file_base_name} $ ...
- dreamweaver cs6 mac破解版
http://www.sdifenzhou.com/dreamweaver-cs6-mac.html
- tp5 中 model 的修改器
修改器可以在数据赋值的时候自动进行转换处理 class User extends Model { public function setNameAttr($value){ return strtolo ...
- [原创]用命令行工具删除TFS2010服务器上的工作区信息
下面的示例显示有关所有计算机上的所有用户已在地址 http://myserver:8080/tfs/DefaultCollection 上的以下团队项目集合中创建的所有工作区的列表. c:\proje ...
- Vi命令备忘
备忘 Ctrl+u:向文件首翻半屏: Ctrl+d:向文件尾翻半屏: Ctrl+f:向文件尾翻一屏: Ctrl+b:向文件首翻一屏: Esc:从编辑模式切换到命令模式: ZZ:命令模式下保存当前文件所 ...
- MFC 按钮如何改变颜色
我们发现想改变对话框的背景颜色是很简单的,但是对话框的背景颜色改变了后,我们发现按钮的颜色没有改变,如下图. 这样做出来的对话框看起来,不是很自然,我们也想把按钮的颜色改变一下.这就用到了按钮的重绘. ...