总结Pyqt的基础知识

1. Pyqt  设置禁止最大化及禁止拖拽窗口大小

         # PyQT禁止窗口最大化按钮:
self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint)
# PyQT禁止调整窗口大小:
self.setFixedSize(self.width(), self.height())

1.1 修改窗体大小

self.resize(500, 400)

2. 当按下Esc退出

重载keyPressEvent

     def keyPressEvent(self, event):
if event.key() ==QtCore.Qt.Key_Escape:
self.close()

3.去掉标题栏

 self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)
self.setWindowFlags(Qt.CustomizeWindowHint)  # 有透明边框

4.触发信号槽

内部方法 triggered()    clicked()

执行:  quit()

 QtGui.QWidget.connect(self.ui_qr.pushButtonOk, QtCore.SIGNAL('clicked()'), self.generateQr)
self.ui_qr.pushButtonOk.clicked.connect(self.generateQr)

5.弹框消息

消息类型: information   ,    warning     ,     question      , about

 OK = QtGui.QMessageBox.question(self, (u'提示'),(u'滚动轴点击'),QtGui.QMessageBox.Yes , QtGui.QMessageBox.No)

6.支持窗口拖动

重载鼠标事件方法

     def mousePressEvent(self, event):
if event.button()==Qt.LeftButton:
self.m_drag=True
self.m_DragPosition=event.globalPos()-self.pos()
event.accept() def mouseMoveEvent(self, QMouseEvent):
if QMouseEvent.buttons() and Qt.LeftButton:
self.move(QMouseEvent.globalPos()-self.m_DragPosition)
QMouseEvent.accept() def mouseReleaseEvent(self, QMouseEvent):
self.m_drag=False

7.设置全局编码

 # -*- coding: utf-8 -*-

         reload(sys)
sys.setdefaultencoding("utf-8")

 8.设置标题、Icon

 label.setPixmap(QtGui.QPixmap(filename))
self.setWindowTitle('Pyqt ComboBox')
self.setWindowIcon(QtGui.QIcon('../Document/images/QQ.png'))

9.设置button   lineEdit 等字体 

 self.lineEdit.setFont(QFont("SimSun", 18, QFont.Bold))     # 宋体  ,   18号字体,    粗体

10.退出后,后台继续保持进程

 app.setQuitOnLastWindowClosed(True)  #true 关闭, false 开启后台

11.显示在最前端

self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

12.窗体透明度

self.setWindowOpacity(0.5)   # 1表示100%显示, 0.5 透明度50% 

13.只显示关闭按钮

self.setWindowFlags(Qt.CustomizeWindowHint| Qt.WindowCloseButtonHint )

 14.隐藏状态栏

self.setWindowFlags(QtCore.Qt.Tool )

15.自定义发射事件信号

from PyQt5.QtWidgets import *
from PyQt5 import QtCore class MyForm(QMainWindow):
_signal = QtCore.pyqtSignal(str) # 定义信号,定义参数为str类型 str、int、list、object、float、tuple、dict def __init__(self):
super().__init__()
button = QPushButton('Button ')
button.clicked.connect(self.on_button) self._signal.connect(self.mySignal) # 将信号连接到函数mySignal
layout = QHBoxLayout()
layout.addWidget(button)
main_frame = QWidget()
main_frame.setLayout(layout)
self.setCentralWidget(main_frame) def on_button(self):
self._signal.emit('hello,你好') # 需要之时emit def mySignal(self, string):
print(string) if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
form = MyForm()
form.show()
app.exec_()

16.信号和槽传递额外参数

from PyQt5.QtWidgets import *
# 使用lambda传递按钮数字给槽 by: http://blog.csdn.net/a359680405/article/details/45246605
class MyForm(QMainWindow):
def __init__(self):
super().__init__()
button1 = QPushButton('Button 1')
button2 = QPushButton('Button 2')
button1.clicked.connect(lambda: self.on_button(''))
button2.clicked.connect(lambda: self.on_button('')) layout = QHBoxLayout()
layout.addWidget(button1)
layout.addWidget(button2) main_frame = QWidget()
main_frame.setLayout(layout)
self.setCentralWidget(main_frame) def on_button(self, n):
print('Button {0} clicked'.format(n)) if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
form = MyForm()
form.show()
app.exec_()

Pyqt 基础功能的更多相关文章

  1. 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)

    (前段时间封闭式开发完了一个项目,最近才有时间继续更新GG的后续版本,对那些关注GG的朋友来说,真的是很抱歉.)GG的前面几个版本开发了一些比较高级的功能,像视频聊天.远程桌面.文件传送.远程磁盘等, ...

  2. 谷歌Chrome浏览器开发者工具的基础功能

    上一篇我们学习了谷歌Chrome浏览器开发者工具的基础功能,下面介绍的是Chrome开发工具中最有用的面板Sources.Sources面板几乎是最常用到的Chrome功能面板,也是解决一般问题的主要 ...

  3. Netsharp快速入门(之16) Netsharp基础功能(权限管理)

    第5章     Netsharp基础功能 5.1     权限配置 5.1.1  功能权限 1.配置权限功能点,打开平台工具-基础业务-操作管理 2.选择资源节点为销售订单,点添加常用操作,添加完成后 ...

  4. 李洪强iOS开发之-环信03_集成 SDK 基础功能

    李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...

  5. wc基础功能

    第一次作业 项目地址 https://gitee.com/xxlznb/WordCount PSP WordCount 预估耗时(分钟) 实际耗时 计划 20 30 预估任务需要时间 20 30 开发 ...

  6. Keepalived详解(三):Keepalived基础功能应用实例【转】

    Keepalived基础功能应用实例: 1.Keepalived基础HA功能演示: 在默认情况下,Keepalived可以实现对系统死机.网络异常及Keepalived本身进行监控,也就是说当系统出现 ...

  7. jmeter 基础功能详解

    jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...

  8. (转)Chrome开发者工具不完全指南(一、基础功能篇)

    本篇转载自卖烧烤夫斯基,并做了小部分的修改. 原文地址:Chrome开发者工具不完全指南(一.基础功能篇) 原作者:卖烧烤夫斯基 就算你不是一名前端开发工程师,相信你也不会对Chrome浏览器感到陌生 ...

  9. 六、EnterpriseFrameWork框架基础功能之权限管理

    回<[开源]EnterpriseFrameWork框架系列文章索引> 从本章开始进入框架的第二块内容“EnterpriseFrameWork框架的基础功能”,包括:权限管理.字典数据管理. ...

随机推荐

  1. HP 820 G2变色龙安装10.11.6基本完美

    初始状态: 一块ssd硬盘,MBR格式分区,安装了WIN7 64位. 不想动win系统,因此就安装在硬盘的扩展分区 电脑配置: cpu: i7-5600u 声卡: ALC280 显卡: HD55 ...

  2. thinkphp3.2.3版本文件目录及作用

    下载thinkphp3.2.3版本,解压缩后将文件夹名字改为thinkphp,然后放在www目录下,里面的文件夹和文件的名字和作用如下:(前面有Tab健的表示下一级,thinkphp是根目录) //t ...

  3. java 多线程 4 线程池

    系统启动一个新线程的成本是比较高的,因为它涉及到与操作系统的交互.在这种情况下,使用线程池可以很好的提供性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池. 与数据库连接池类似 ...

  4. MySQL主从复制、半同步复制和主主复制概述

    http://www.cnblogs.com/zping/p/5275531.html

  5. [译]IIS 8.0应用初始化

    原文 代码 或者点这 通过IIS 8.0应用初始化特性管理员可以配置IIS为一个网站或多个网站提前执行初始化任务.当应用在初始化期间,可以通过配置先返回一个静态页面知道应用的初始化任务完成. 通过配置 ...

  6. 配置tomcat系统日志--java eclipse

    控制台那里的日志只是部分,有时候报错了我们并没有显示出来,所以需要找到系统日志... 双击tomcat v.80 Service---点击open lauch Configuration--Argum ...

  7. 忘记mysql root 密码修改小技巧

    首先我说一下我的情况,我并不是忘记了我的root密码,只不过是我在使用phpmyadmin的时候更改密码的时候选择了如图1 的这个方法将密码加密并更改了,然后就再次登录的时候登录不上,所以对于菜鸟级的 ...

  8. DHT协议C++实现过程中各种问题

    ---恢复内容开始--- 博主是个菜鸟,什么地方写的不对或者理解有误的地方还请指正出来. DHT协议是BT协议中的一部分,也是一个辅助性的协议.HTTP协议中用 来定位资源也就是html文本是用URL ...

  9. tp中ueditor编辑器的使用

    1/引入三个文件 <script type="text/javascript" charset="utf-8" src="{$Think.con ...

  10. js 判断客户端浏览器

    var browser={ versions:function(){ var u = navigator.userAgent, app = navigator.appVersion; return { ...