PyQt的signal 和 solit的补充
- from PyQt5.QtWidgets import (QWidget
- , QVBoxLayout , QHBoxLayout,
- QLineEdit, QPushButton)
- from PyQt5.QtCore import pyqtSignal
- from PyQt5 import QtCore
- ##############################################
- # 参考大丸子的博客
- #http://jimmykuu.sinaapp.com/blog/11
- class LoginView(QWidget):
- ## 登录界面时发送 关闭信号
- quitSignal = pyqtSignal()
- loginSignal = pyqtSignal(list)
- # server端没有响应
- openFailureSignal = pyqtSignal()
- def __init__(self, parent=None):
- super(LoginView, self).__init__(parent)
- self.ids_receive = []
- self._init_ui()
- def _init_ui(self):
- layout_button = QHBoxLayout()
- layout_input = QHBoxLayout()
- self.input_name = QLineEdit()
- self.input_pass = QLineEdit()
- button_login = QPushButton("登录")
- button_login.setObjectName("ok_button")
- button_quit = QPushButton("取消")
- button_hello = QPushButton("hello")
- self.button_hello = button_hello
- button_hello.setObjectName("hello_button")
- #button_login.clicked.connect(self.do_login)
- #button_quit.clicked.connect(self.loginQuit)
- layout_button.addWidget(button_login)
- layout_button.addWidget(button_quit)
- layout_input.addWidget(self.input_name)
- layout_input.addWidget(self.input_pass)
- layout_input.addWidget(self.button_hello)
- layout_main = QVBoxLayout()
- self.setLayout(layout_main)
- layout_main.addLayout(layout_button)
- layout_main.addLayout(layout_input)
- # QMetaObject. connectSlotsByName(QObject)
- #网上百度到的说明:其作用是如其名称一样,用来将QObject 里的子孙QObject的某些信号按照其objectName连接到相应的槽上
- # ,如 button_hello.setObjectName("hello_button")
- # 官网解释用法: http://doc.qt.io/qt-5/qmetaobject.html#connectSlotsByName
- QtCore.QMetaObject.connectSlotsByName(self)
- def loginQuit(self):
- print ("cencel")
- #试试注销掉该装饰器
- # 有点奇怪啊,一旦注释掉装饰器,打印会执行两次啊
- #QtCore.pyqtSlot(str, str)可以携带参数的
- @QtCore.pyqtSlot()
- def on_hello_button_clicked(self):
- print('on_pbHello_clicked')
- @QtCore.pyqtSlot()
- def on_ok_button_clicked(self):
- print ("OK")
- self.loginSignal.emit([1, 2])
- def do_login(self):
- #获取用户和密码文本框的内容
- u_name = self.input_name.text()
- u_pass = self.input_pass.text()
- print('u_name', u_name, u_pass)
- if __name__ == '__main__':
- import sys
- from PyQt5.QtWidgets import QApplication
- app = QApplication(sys.argv)
- login = LoginView()
- login.show()
- sys.exit(app.exec_())
PyQt的signal 和 solit的补充的更多相关文章
- 转载:pyqt的signal和solit
转自:http://blog.csdn.net/hlqyq/article/details/6713828 import sysfrom PyQt5.QtCore import pyqtSignal, ...
- JAVA中的枚举小结
枚举 将一组有限集合创建为一种新的类型,集合里面的值可以作为程序组件使用: 枚举基本特性 以下代码是枚举的简单使用: 使用values方法返回enum实例的数组 使用ordinal方法返回每个enum ...
- PyQt信号connect连接槽方法时报:native Qt signal is not callable错误
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在将一个信号连接到槽方法时,程序异常退出,捕获异常 ...
- 第四章 、PyQt中的信号(signal)和槽(slot)机制以及Designer中的使用
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 前面章节其实已经在使用信号和槽了,但是作为Qt中最重要的机制也是Qt区别与其他开发平台的重 ...
- 第15.16节 PyQt(Python+Qt)入门学习:PyQt中的信号(signal)和槽(slot)机制以及Designer中的使用
老猿Python博文目录 老猿Python博客地址 一.引言 前面一些章节其实已经在使用信号和槽了,但是作为Qt中最重要的机制也是Qt区别与其他开发平台的重要核心特性,还是非常有必要单独介绍. 二.信 ...
- Linux 条件变量函数signal和wait补充
pthread_cond_wait必须放在pthread_mutex_lock和pthread_mutex_unlock之间,因为他要根据共享变量的状态来觉得是否要等待,而为了不永远等待下去所以必须要 ...
- pyqt的多Button的点击事件的槽函数的区分发送signal的按钮。
关键函数:QPushButton的setObjectName()/objectName() 个人注解:按功能或者区域,将按钮的点击事件绑定的不同的槽函数上. from PyQt5.QtWidgets ...
- 信号 signal sigaction补充
目前linux中的signal()是通过sigation()函数实现的. 由signal()安装的实时信号支持排队,同样不会丢失. 先看signal 和 sigaction 的区别: 关键是 stru ...
- PyQt学习随笔:QTableWidget的信号signal简介
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget非继承自父类的信号如下: cellActivated(int row, in ...
随机推荐
- 【转】Unity3D中脚本的执行顺序和编译顺序
支持原文,原文请戳: Unity3D中脚本的执行顺序和编译顺序 在Unity中可以同时创建很多脚本,并且可以分别绑定到不同的游戏对象上,它们各自都在自己的生命周期中运行.与脚本有关的也就是编译和执行啦 ...
- 【Linux技术】磁盘的物理组织,深入理解文件系统
磁盘即是硬盘,由许多块盘片(盘面)组成,每个盘片的上下两面都涂有磁粉,磁化后可以存储信息数据.每个盘片的上下两面都安装有磁头,磁头被安装在梳状的可以做直线运动的小车上以便寻道,每个盘面被格式化成有若干 ...
- WPF 异步执行
private void Operate_OnClick(object sender, RoutedEventArgs e) { AsyncFindBox(); RadWindow.Alert(&qu ...
- 基于jQuery鼠标悬停上下滑动导航条
基于jQuery鼠标悬停上下滑动导航条.这是一款蓝色好看的鼠标响应式网站导航菜单特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div id="menu2& ...
- AutoLayout——何为intrinsic content size
上一篇说到了约束就是等式和不等式.仅仅知道其原理还是没法拉出符合需求的线.所以这一篇主要看来什么是intrinsic content size,以及它有什么用. 在Xcode中,差点儿全部控件或视图, ...
- 【Web安全】越权操作——横向越权与纵向越权
参考:http://blog.csdn.net/github_39104978/article/details/78265433 看了上面的文章,对越权操作的概念还是比较模糊,不明确实际场景. 横向越 ...
- Introduction to MyBatis Generator Mybatis代码生成介绍
Mybatis官方提供了代码生成工具,这里是官方网站: http://mybatis.github.io/generator/index.html 可以自动生成 Java POJOs, Mapper. ...
- [转] 机器学习是什么——周志华
机器学习现在是一大热门,研究的人特多,越来越多的新人涌进来. 不少人其实并没有真正想过,这是不是自己喜欢搞的东西,只不过看见别人都在搞,觉着跟大伙儿走总不会吃亏吧. 问题是,真有个"大伙儿& ...
- keras系列︱人脸表情分类与识别:opencv人脸检测+Keras情绪分类(四)
引自:http://blog.csdn.net/sinat_26917383/article/details/72885715 人脸识别热门,表情识别更加.但是表情识别很难,因为人脸的微表情很多,本节 ...
- Android训练课程(Android Training) - 构建你的第一个应用
本文翻译自:https://developer.android.com/training/basics/firstapp/index.html 构建你的第一个应用(app) 欢迎来到安卓开发! 这个课 ...