PyQt5的学习工作总结
关于Python GUI的代码实例分析,目前网络上关于PyQt5的资料一直很少,而且仅有的少部分资料还都是英文的,给初学者带来的强烈的困扰,本专栏的开设目的是为了分享一些学习工作中将碰到的一些问题,以及一些实例,希望能给初学者一些帮助
Always0nTheWay
一直在路上
展开
-
QListWidget右键菜单的实现
关于右键菜单的实现,可以参考另一篇我转载的文章,在QT中添加右键菜单。问题:如何实现在一个列表中点击右键,如果在Item上面,则有“修改”选项,在其余空白处,则只有“添加”,"删除"选项。实现右键菜单, 从QListWidget中派生出ListWidget,重写void QWidget::contextMenuEvent ( QContextMenuEvent * event转载 2017-04-06 09:14:13 · 3574 阅读 · 0 评论 -
QT GUI界面假死的处理
原文地址在GUI程序中,主线程也叫GUI线程,因为它是唯一被允许执行GUI相关操作的线程。对于一些耗时的操作,如果放在主线程中,就是出现界面无法响应的问题。这种问题的解决一种方式是,把这些耗时操作放到次线程中,还有一种比较简单的方法:在处理耗时操作中频繁调用QApplication::processEvents()。这个函数告诉Qt去处理那些还没有被处理的各类事件,然后再把控制权返还给调用者。转载 2017-04-17 19:11:36 · 3670 阅读 · 0 评论 -
pyqt注销操作后重新登录--程序的重启
大体思路说下,要代码实现的私聊程序入口处:...def main(): # `...`是省略的内容 ... app = QApplication(sys.argv) ... exit_code = app.exec_() if exit_code == 888: main() else: sys.exit()原创 2017-04-28 16:02:09 · 2443 阅读 · 10 评论 -
Qt5中部分自带控件菜单(QLineEdit、QTextEdit右键菜单)的汉化
原文地址 Qt中一些控件自带了功能完备的右键菜单,完全可以满足一般的使用要求,而不必再费劲自己创建、调用菜单,但是默认情况下这些菜单均为英文,用在一款汉语软件里难免有点别别扭扭,这就需要我们进行汉化。得益于Qt本身良好的国际化设计,实现起来并不复杂。经查阅各位大牛的文章以及用户文档,在Qt5中的使用总结如下:1、首先要有翻译文件(.qm),关于如何生成qm这里转载 2017-04-17 19:14:53 · 3623 阅读 · 0 评论 -
PyQt5设置QTableWidget列宽固定
找了良久才找着啊,找了很多内容,点进去发现都一样…QTableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.Fixed)这里有比较完整的关于QTableWidget的内容 http://www.cnblogs.com/skynet/p/4229556.html原创 2017-05-03 18:12:00 · 5749 阅读 · 0 评论 -
Qt实现小功能之列表无限加载(创意很不错:监听滚动条事件,到底部的时候再new QListWidgetItem)
原文地址概念介绍 无限加载与瀑布流的结合在Web前端开发中的效果非常新颖,对于网页内容具备较好的表现形式。无限加载并没有一次性将内容全部加载进来,而是通过监听滚动条事件来刷新内容的。当用户往下拖动滚动条或使用鼠标滚轮的时候,页面会自动加载剩余的内容。如下: 简约而不简单,正是这种别出心裁,突破常规的设计才能得到用户的青睐……实现思路 在前端开转载 2017-05-05 18:11:47 · 3049 阅读 · 0 评论 -
获取QTableWidget中所有已选行的行号
def getRow(self): self.selectedRow = list() item = self.`qtablewidget`.selectedItems() for i in item: if self.`qtablewidget`.indexFromItem(i).row() not in self.selec原创 2017-03-29 18:06:57 · 15932 阅读 · 0 评论 -
PyQt5系统托盘
from PyQt5.QtWidgets import QDialog, QAction, QSystemTray, QMenufrom PyQt5.QtGui import QIconclass DlgMain(QDialog): def addSystemTray(self): minimizeAction = QAction("Mi&nimize", self, tr原创 2017-03-28 18:11:09 · 5093 阅读 · 5 评论 -
QLabel自动换行的实现
刚开始百度了下想找现成的,没想到搜索的结果大部分都是这篇博文 1. 让QLabel自适应text的大小,直接用下面的代码: LabelName->adjustSize(); 2. 让QLabel能够自动判断并换行显示: LabelName->setGeometry(QRect(328, 240, 329, 27*4)); //四倍行距 LabelName->setWordWrap(t原创 2017-03-17 18:34:29 · 35872 阅读 · 8 评论 -
qss选择器
qss语法qss和css一样有两部分组成,选择器和语句声明(selector和declaration)选择器分为一般选择器、子控件选择器(辅助控制器)和伪选择器(伪状态)(下面为转载,出处http://www.cnblogs.com/davesla/archive/2011/01/30/1947928.html)1、 一般选择器(selector)Qt支持所有的CSS2定义的选转载 2017-03-09 18:41:43 · 799 阅读 · 0 评论 -
pyqt信号和槽传递额外参数
原文地址环境:python2.7.8pyqt 4.11.1使用Pyqt编程过程中,经常会遇到给槽函数传递额外参数的情况。但是信号-槽机制只是指定信号如何连接到槽,信号定义的参数被传递给槽,而额外的参数(用户定义)不能直接传递。而传递额外参数又是很有用处。你可能使用一个槽处理多个组件的信号,有时要传递额外的信息。一种方法是使用lambda表达式。转载 2017-03-03 18:43:37 · 5397 阅读 · 1 评论 -
QComboBox的代理(订制QComboBox组合框)
原文地址导读 组合框是一个重要且应用广泛的组件,一般由两个子组件组成:文本下拉单部分和按钮部分。在许多既需要用户选择、又需要用户手动输入的应用场景下,组合框能够很好的满足我们的需求。如我们经常使用的聊天软件QQ登录框,便是一个很好的应用例子: 显然,用户既可以自己手动输入新的QQ号码,也可以在列表框中选择历史输入记录。对于提高用户体验是一个不错的手段。这篇博文重点讲转载 2017-03-03 18:12:47 · 7125 阅读 · 0 评论 -
Qt/PyQt的系统托盘图标(SystemTrayIcon)实现
原文地址write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie讨论新闻组及文件估计这种小的知识会有几篇文章,除了全局快捷键部分外,其他的都比较简单,都是我实现“onekeycodehighlighter"中碰到的一些小问题,这里顺面整理一下。事实上,稍微懂一点的人,去看看one key code highlight转载 2017-03-01 18:58:22 · 2253 阅读 · 0 评论 -
Ubuntu下PyQt4官方文档获取
获取文档: sudo apt-get install python-qt4-doc文档位置: /usr/share/doc/python-qt4-doc/html/index.html类名引用位置(个人感觉这个比较有用): /usr/share/doc/python-qt4-doc/html/classes.html在浏览器中打开即可原创 2017-03-01 18:42:16 · 367 阅读 · 0 评论 -
PyQt中的各种提示框
转载自:http://www.linuxidc.com/Linux/2012-06/63652p5.htm 在实际的程序开发中,经常会用到各种各样的消息框来给用户一些提示或提醒,Qt提供了QMessageBox类来实现此项功能。在本实例中,分析了各种消息框的使用方式及之间的区别。各种消息框的使用如图所示:实现代码如下:# -*- coding:转载 2017-02-22 10:31:31 · 21050 阅读 · 0 评论 -
PyQt4 信号和槽用法总结
原文地址原文 http://neteue.com/article/pyqt4-signal-slot/信号与槽的例子可以使用QObject.connect方法来连接信号与槽#! /usr/bin/env python# -*- coding: utf-8 -*-from PyQt4 import QtCore, QtGuiclass MyWidget(QtGui.QW转载 2017-02-17 16:56:23 · 1329 阅读 · 0 评论 -
Qt树形控件QTreeView使用
原文地址QTreeView 和 QStandardItemModel的使用 QtreeView是ui中最常用的控件,Qt中QTreeWidget比QTreeView更简单,但没有QTreeView那么灵活(QTreeWidget封装的和MFC的CTreeCtrl很类似,没有mvc的特点)。1. QStandardItemModel在QTreeView中的使用使用QTreeV转载 2017-02-15 18:26:47 · 18978 阅读 · 1 评论 -
Qt之格栅布局(QGridLayout)
简述QGridLayout:格栅布局,也被称作网格布局(多行多列)。栅格布局将位于其中的窗口部件放入一个网状的栅格之中。QGridLayout需要将提供给它的空间划分成的行和列,并把每个窗口部件插入并管理到正确的单元格。 栅格布局是这样工作的:它计算了位于其中的空间,然后将它们合理的划分成若干个行(row)和列(column),并把每个由它管理的窗口部件放置在合适的单元之中,这里所指的转载 2017-02-14 19:04:06 · 1300 阅读 · 0 评论 -
QTableWidget 详细使用
原文地址 QWidget及其子类都可有右键菜单,因为QWidget有以下两个与右键菜单有关的函数:Qt::ContextMenuPolicy contextMenuPolicy () const void setContextMenuPolicy ( Qt::ContextMenuPolicy policy )Qt::ContextMenuPolicy枚举转载 2017-02-14 18:43:22 · 582 阅读 · 0 评论 -
Ubuntu下Qt5安装Qt designer
原文地址安装Qt 之后发现只有Qt Creator …但是不支持PyQt5呀! 于是想安装一个Qt designer 一开始打sudo apt-get install qt5-designer11发现并没有这玩意。。。google一下,原来在 sudo apt-get install qttools5-dev-tools11。。。 最后终端敲 designe转载 2017-01-25 10:20:00 · 6363 阅读 · 0 评论 -
PyQt5 与 Eric6 的极速 GUI 开发
原文地址完美安装 Anaconda3 + PyQt5 + Eric6 一文对PyQt5与Eric6的安装做了详细的记录。这次将结合使用PyQt5和Eric6以实例的方式向大家展示PyQt5与Eric6的极速GUI开发,同时也可以让大家对PyQt5与Eric6先混个脸熟。用 Eric6 与 PyQt5 结合,非常方便的实现界面与逻辑分离,满足python的极速GUI编程,你只需要关注程序转载 2017-01-25 11:09:45 · 5341 阅读 · 0 评论 -
PyQt5的学习之路(一)
Ubuntu下PyQt5的安装与测试安装在Ubuntu下直接使用命令”sudo apt-get install python-PyQt5”即可安装PyQt5了测试测试一代码test1.py#!/usr/bin/python# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import QApplication, QWidgetif __n原创 2017-01-14 12:17:25 · 1542 阅读 · 1 评论 -
PyQt5的学习之路(二)
图标#! /usr/bin/python# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import QApplication, QWidgetfrom PyQt5.QtGui import QIconclass Myform(QWidget): def __init__(self): super(Myform原创 2017-01-15 11:12:38 · 773 阅读 · 1 评论 -
PyQt5的学习之路(三)
状态栏#!/usr/bin/python# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import QApplication, QMainWindowclass Myform(QMainWindow): def __init__(self): super(Myform, self).__init__()原创 2017-01-15 15:12:39 · 923 阅读 · 1 评论 -
PyQt5的学习之路(四)
绝对定位#!/usr/bin/python# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import QWidget, QApplication, QLabelclass Myform(QWidget): def __init__(self): super(Myform, self).__init__()原创 2017-01-16 14:51:54 · 1120 阅读 · 1 评论 -
PyQt5的学习之路(五)
信号&槽机制#! /usr/bin/python# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QSlider, QVBoxLayoutfrom PyQt5.QtCore import Qtclass Myform(QWidget): def _原创 2017-01-17 15:56:38 · 666 阅读 · 1 评论 -
PyQt5的学习之路(六)
对话框#! /usr/bin/python# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QInputDialog, QPushButtonclass Myform(QWidget): def __init__(self): super原创 2017-01-18 16:30:19 · 445 阅读 · 1 评论 -
PyQt5的学习之路(七)
复选框#! /usr/bin/python# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QCheckBoxfrom PyQt5.QtCore import Qtclass Myform(QWidget): def __init__(self): sup原创 2017-01-19 16:09:42 · 1506 阅读 · 2 评论 -
PyQt5的学习之路(八)
像素图#! /usr/bin/python# -*- coding: utf-8 -*-import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QLabelfrom PyQt5.QtGui import QPixmap, QPainterfrom PyQt5.QtCore import Qtclas原创 2017-01-20 18:02:05 · 497 阅读 · 0 评论 -
Qt中的sizeHint,minimumSizeHint,sizePolicy属性
原文地址Qt 中的 sizeHint 属性,sizeHint()如何使用?Qt 中的 minimumSizeHint属性,minimumSizeHint() 如何使用?Qt 中的 sizePolicy属性,setSizePolicy()、sizePolicy()如何使用? 之前一直对这几个属性搞不清楚,前几天仔仔细细地看了文档解释并做了一些测试,现在来归纳一下:转载 2017-01-18 12:31:02 · 7769 阅读 · 0 评论 -
PyQt常用控件
原文地址: http://jingyan.baidu.com/article/0eb457e51118ca03f1a905c0.htmlQtGui.QComboBox控件常用函数:.addItem(string)#添加字符串项到Item.addItems(list)#添加列表或元组元素到Item.clear()#清除所有Item转载 2017-01-20 11:10:23 · 1839 阅读 · 0 评论