zetcode教程 汉化版:

https://maicss.gitbook.io/pyqt5-chinese-tutoral/

官方网站:

https://www.riverbankcomputing.com/static/Docs/PyQt5/introduction.html

QT使用手册:

https://doc.qt.io/archives/qtjambi-4.5.2_01/com/trolltech/qt/gui/QComboBox.html

学习策略

1、明确需求

工作时是项目驱动,明确需求后,在网上查找相关资源,一步步累加功能。最好先搭建一个框架,之后就是在此框架上添加各种功能。

安装

pip install pyqt5
# qt5的图形界面工具,如qtdesinger
pip install pyqt5-tools

布局管理

Qt Designer中,工具箱的最上方有4种布局,分别是垂直布局、水平布局、栅格布局和表单布局。

实现布局有2种方式,通过 布局管理器 与 容器控件。

一个工程用界面通常由以下部分组成:

菜单栏

工具栏

左侧

常用控件

Qt中将表格、简单列表、树状列表称为"表项视图类" item view class;

有两种实现方式:

Item Views(Model-Based),以view结尾,如QListView等;

Item Widgets(Item-Based),以widget结尾,如QListWidget等;

区别:

1、Views 是 Widgets 类的父类;

2、Views是MVC架构的一种简化;Widgets将数据、展示、控制合在一起;实际上Widgets在Views基础上绑定了一个默认的存储数据并提供了相关方法。

QPalette调色板

# 设置背景颜色 或 背景图片
palette1 = QtGui.QPalette(self)
palette1.setColor(self.backgroundRole(), QColor(192,253,123)) # 设置背景颜色
palette1.setBrush(self.backgroundRole(), QtGui.QBrush(QtGui.QPixmap('../../../Document/images/17_big.jpg'))) # 设置背景图片 self.setPalette(palette1)
self.setAutoFillBackground(True) # 不设置也可以 # self.setWindowTitle('Icon') # 设置窗体标题
# self.setWindowIcon(QtGui.QIcon('../../../Document/images/firefox.png')) # 设置窗体ICON

Qbutton

button.setText("haah") # 改变文本
button.setEnabled(True) # 使能与禁用

QLineEdit 单行文本

只能单行编辑的文本框

edit.text() # 获取文本
edit.setText("haha") # 设置文本
edit.clear() # 清除所有文本 edit.setPlaceholderText('请在这里输入URL') # 设置默认提示文字 

QPlainTextEdit 多行文本

edit.toPlainText() # 获取文本
edit.setPlainText("haha") # 设置文本
edit.appendPlainText("haha") # 在末尾添加文本
edit.clear() # 清除所有文本 edit.setPlaceholderText('请在这里输入URL') # 设置默认提示文字 

QComboBox 组合框

method = cbox.currentText() # 当前 选中的选项 的文本
cbox.clear() # 清空选项
cbox.addItems(['by1','by2','by3'])

QSpinBox 数字输入框

number = box.value() # 返回的是整数对象
box.setValue(100)

信号returnPressed: 按下回车键

passwordEdit.returnPressed.connect(onLogin)

QAction

用于菜单栏、工具栏或自定义快捷键的抽象动作行为。

Pyqt 中__init__(self,parent==None) parent理解

参考:

在PyQt中,所有class都是从QObject派生而来,QWidget对象就可以有一个parent。这种parent-child关系主要用于两个方面:

  • 没有parent的QWidget类被认为是最上层的窗体(通常是MainWindow),由于MainWindow的一些操作生成的新窗体对象,parent都应该指向MainWindow。

    由于parent-child关系的存在,它保证了child窗体在主窗体被回收之时也被回收。
  • parent作为构造函数的最后一个参数被传入,但通常情况下不必显示去指定parent对象。因为当调用局管理器时,部局管理器会自动处理这种parent-child关系。但是在一些特殊的情况下,我们必须显示的指定parent-child关系。如当生成的子类不是QWidget对象但继承了QObject对象,用作dock widgets的QWidget对象。

QTreeWidget

官方链接:https://doc.qt.io/archives/qtjambi-4.5.2_01/com/trolltech/qt/gui/QTreeWidget.html

第一手材料,需要了解大概,知道怎么用。

QTreeWidgetItem:想要编辑时需要在代码中添加

child2.setFlags(child2.flags()| Qt.ItemIsEditable) ;

且在Qt Designer中做相关操作;

Qt Designer中可以做的操作

1、editTriggers:DoubleClicked;

2、selectionMode:ExtendedSelection;

3、drapEnabled:

drapDropMode:DragDrop;

defaultDropAction:CopyAction;

PYQT5 学习的更多相关文章

  1. PyQt5学习笔记-从主窗体打开一个子窗体

    PyQt5学习笔记-从主窗体打开一个子窗体 软件环境: Eric6+Python3.5+PyQt5 试验目标: 1.点击菜单项Open,打开一个子窗体 2.点击按钮Open,打开一个子窗体 主窗体设计 ...

  2. Pyqt5学习笔记(一)

    Python已有的GUI框架: Tkinter(python内嵌的GUI环境,使用TCL实现,易学易用,方便简单创GUI自带无需安装,适用于Unix.Windows和Mac系统组,在Tk8.0的后续版 ...

  3. Pyqt5学习系列

    最近在学习Pyqt5做界面,找到了一个非常棒的博主的学习系列 在此记录下来: http://blog.csdn.net/zhulove86/article/category/6381941

  4. PyQt5学习笔记----标准文件打开保存框QFileDialog

    单个文件打开 QFileDialog.getOpenFileName()多个文件打开 QFileDialog.getOpenFileNames() 文件夹选取     QFileDialog.getE ...

  5. PYQT5学习笔记之各模块介绍

    Qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类 Qtwidegts下还有以下常用对象,所以一般使用Qtwidegts时会使用面向对象式编程 QApplication: ap ...

  6. PyQt5学习笔记14----初识pyqt多线程操作

    转载:翻滚吧挨踢男 首先来看一个例子: # coding=utf-8 __author__ = 'a359680405' from PyQt5.QtCore import * from PyQt5.Q ...

  7. Python pyQt4/PyQt5 学习笔记4(事件和信号)

    信号 & 槽 import sys from PyQt5.QtCore import Qt from PyQt5.QtWidgets import (QWidget,QLCDNumber,QS ...

  8. Python pyQt4/PyQt5 学习笔记3(绝对对位,盒布局,网格布局)

    本节研究布局管理的内容. (一)绝对对位  import sys from PyQt4 import QtGui class Example(QtGui.QWidget): def __init__( ...

  9. Python pyQt4/pyQt5 学习笔记2(状态栏、菜单栏和工具栏)

    例子:状态栏.菜单栏和工具栏 import sys from PyQt4 import QtGui class Example(QtGui.QMainWindow): def __init__(sel ...

  10. Python pyQt4/pyQt5 学习笔记1(空白窗口,按钮,控件事件,控件提示,窗体显示到屏幕中间,messagebox)

    PyQt4是用来编写有图形界面程序(GUI applications)的一个工具包.PyQt4作为一个Python模块来使用,它有440个类和超过6000种函数和方法.同时它也是一个可以在几乎所有主流 ...

随机推荐

  1. 全链路追踪体验—最简陋TraceId的生成

    对于后端开发来说,排查问题是常有的事情.而排查问题时最常用的就是看日志,看一次调用中经过了哪些系统,是那个系统出问题了.这就需要业务日志中关联调用链的TraceId信息,从而在应用出现问题时,能够通过 ...

  2. 1.3_HTML基础知识

    打开记事本,输入 <html> <hand> <title>我要自学网</title> </hand> <body> <h ...

  3. 【python】一些python用法规律笔记

    作为本科用了多年MATLAB的工科生,学起来python有些似曾相识但也有些不习惯的地方. 在这里总结一下,慢慢整理,希望能巩固python语法 一.前闭后开 这个是和MATLAB很大不同.不论是ra ...

  4. Javaweb—登录案例

    案例:用户登录 用户登录案例需求: 编写login.html登录页面 username & password 两个输入框 使用Druid数据库连接池技术,操作mysql,day14数据库中us ...

  5. django_day02

    django_day02 外键 表示一对多 多对一 class Book(models.Model): name = models.CharField(max_length=32) publisher ...

  6. OpenDrop 这样的应用程序以及与当今流行的替代品的比较

    由安全移动网络实验室 OpenDrop 创建的用 Python 编写的开放 Apple AirDrop 实现是一个命令行工具,允许直接通过 Wi-Fi 在设备之间共享文件.它的独特之处在于它与 App ...

  7. 服务端挂了,客户端的 TCP 连接还在吗?

    作者:小林coding 计算机八股文网站:https://xiaolincoding.com 大家好,我是小林. 如果「服务端挂掉」指的是「服务端进程崩溃」,服务端的进程在发生崩溃的时候,内核会发送 ...

  8. KingbaseES V8R6C5禁用root用户ssh登录图形化部署集群案例

    案例说明: 对于KingbaseES V8R6C5版本在部集群时,需要建立kingbase.root用户在节点间的ssh互信,如果在生产环境禁用root用户ssh登录,则通过ssh部署会失败:在图形化 ...

  9. 《Java基础——选择语句》

    Java基础--选择语句       1. if语句; 规则: 1. 首先计算表达式的值. 2. 若表达式为真,则执行对应语句,为假则不执行.   格式一: if(表达式) 语句;//多个语句可用{} ...

  10. OpenJudge 1.5.35:求出e的值

    35:求出e的值 总时间限制:1000ms 内存限制:65536kB 描述 利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e . 输入 输入只有一行,该行包 ...