Python作为一个开源的解释型编程软件,在教学、科研、实际项目中用得越来越多。Python易学易用,程序资源丰富,在编程解决一些科学计算问题时比较实用,但是Python自带的Tkinter包设计GUI程序的功能比较弱,无法设计专业的GUI应用程序。

Qt C++类库是一套广泛使用的跨平台GUI设计类库,PyQt5是Qt5 C++类库的Python绑定,使用PyQt5在Python里编程,可以将Python丰富的科学计算、图形显示等功能与PyQt5的GUI设计功能结合起来,开发出比较专业的Python GUI应用程序,便于对研究成果进行有效的集成与展示。

目前,介绍Python编程的书很多,但是专门介绍PyQt5 GUI编程的书很少。目前有这样一本《Python Qt GUI与数据可视化编程》即将出版。推荐给有需要的你们。

【京东预售】

本书主要内容包括:

  • 基于PyQt5的GUI应用程序的技术框架和工具软件的使用;
  • GUI程序设计中常用界面组件和功能模块的使用;
  • 使用PyQtChart、PyQtDataVisualization、Matplotlib在GUI程序中嵌入二维和三维数据可视化功能的编程方法。

详细内容结构

本书介绍在Python中使用PyQt5、PyQtChart、Matplotlib等进行GUI应用程序设计和数据可视化编程的方法,全书的内容分为三部分。

第一部分是PyQt5开发基础,包括第1章和第2章。 
第1章介绍Python、Qt、PyQt5的特点和安装方法,在Windows中建立开发环境。

第2章介绍使用PyQt5开发GUI应用程序的基本框架原理,包括GUI应用程序的基本结构、使用可视化设计UI窗体时开发GUI程序的流程和框架、信号与槽的使用方法等。掌握了第2章的内容就掌握了PyQt5开发GUI应用程序的框架性原理,再学习第二部分和第三部分就很容易了。

第二部分是GUI应用程序设计,从第3章至第11章。

这部分介绍GUI应用程序设计中常用的一些功能模块的编程使用方法,包括常用界面组件的使用、Model/View结构、事件处理、对话框和多窗口设计、数据库、绘图、文件读写和操作、多媒体、多语言界面和Qt样式表定制界面等。

这部分的内容根据PyQt5和Python各自的特点做了取舍,总体的原则就是对GUI程序设计中必需的,而Python中没有或功能不强的模块进行介绍。例如,Python虽然有自带的数据库、多媒体、文件读写功能模块,但是功能不如PyQt5的相应模块,或不易与PyQt5的GUI程序的窗口界面结合使用,因此本书就介绍PyQt5的数据库、多媒体、文件读写功能模块。而Python自带的多线程编程功能已经比较全,且不涉及用户界面,因此本书就不介绍PyQt5的多线程编程功能。Python有很多功能强大的第三方网络功能模块,因此没有必要介绍PyQt5的网络编程功能。

第三部分是数据可视化编程,从第12章至第14章。

Chart和Data Visualization模块是Qt C++类库的一部分,分别用于二维图表绘制和三维数据可视化,但是PyQt5中没有这两个模块,需要单独安装PyQtChart包和PyQtDataVisualization包。第 12 章介绍使用PyQtChart模块绘制各种二维图表的编程方法,第13章介绍使用PyQtDataVisualization模块绘制三维柱状图、三维散点图和三维曲面图的编程方法。

Matplotlib是Python中应用最广泛的数据可视化模块,但是一般介绍Matplotlib数据可视化的书很少详细介绍将Matplotlib嵌入GUI窗口上的编程方法。第14章专门介绍Matplotlib与PyQt5结合,嵌入GUI程序中实现数据可视化的编程方法,这是在编写集成化的Python GUI应用程序时经常遇到的,是非常实用的功能。

本书学习路线

本书使用的编程语言是Python,但是本书并不会介绍Python语言基础,需要读者对Python编程有一定的了解,特别是对Python的面向对象编程原理要比较熟悉。如果读者对Python不够熟悉,需要参考专门介绍Python编程基础的书,学会Python后再来学习本书。

本书的内容虽然用到Qt的IDE,即Qt Creator,但是并不需要编写任何C++语言程序,所以读者无须具有C++语言基础。当然,如果读者有C++语言基础,或者对Qt C++编程比较熟悉,对阅读本书的内容是非常有帮助的。

学习本书应从第一部分开始。第1章介绍本书用到的各个软件及其安装,搭建开发环境。第2章是本书的基础和重点内容,介绍了PyQt5 GUI应用程序的基本代码框架、基于UI窗体可视化设计的GUI应用程序的设计流程和工具软件pyuic5的使用、UI与窗体业务逻辑分离设计的原理、Qt的核心技术信号与槽的使用方法、Qt Creator中管理和使用资源文件,以及通过工具软件pyrcc5将资源文件转换为Python程序的方法。第2章还创建了3个单窗口项目模板,本书的大部分示例都是基于这几个项目模板创建的。

掌握了第2章的内容就掌握了用PyQt5设计GUI程序的技术框架,剩下的就是PyQt5中用于GUI应用程序设计的各种类的使用了。

第二部分介绍PyQt5 GUI程序设计中各个技术模块的使用方法,包括常用界面组件、Model/View结构、事件处理、对话框与多窗口设计、数据库、绘图、文件、多媒体等,读者可以根据自己的需要学习或查阅相应章节。第11章有两个新的技术点不在第2章介绍的技术框架内,分别是多语言界面设计方法和Qt样式表定制界面方法。

第三部分介绍数据可视化设计方法。PyQtChart和PyQtDataVisualization是Qt C++类库相应模块的Python绑定,分别用于二维图表和三维数据可视化设计,其内容的介绍比较全面。另外由于Matplotlib在Python数据可视化中应用广泛,第14章专门介绍将Matplotlib嵌入GUI窗体上实现交互式数据可视化的设计方法,包括主要的技术点和一些常用二维图和三维图的编程使用方法。

PyQtChart、PyQtDataVisualization与Matplotlib的某些功能是重合的,但它们各有千秋,读者可根据自己的需要和熟悉的内容选择学习和使用。如果读者熟悉Qt C++类库中的二维图表和三维数据可视化模块的使用,就参阅第12章和第13章;如果读者熟悉Matplotlib的使用,就参阅第14章。

样章试读:

第一章:开发环境安装

本书介绍如何在Python中使用PyQt5进行图形用户界面(Graphical User Interface,GUI)应用程序开发,使用的编程语言是Python,构建开发环境需要安装的软件有Python 3、Qt 5和PyQt5。

本章介绍各个软件的功能特点、安装和基本使用方法,以及构建本书介绍内容所需的开发环境。本书所有程序都是在64位Windows 7平台上开发的,但由于Python和Qt都是跨平台的,因此所介绍的内容在Linux等平台上也是适用的。

1.1 Python

1.1.1 Python 简介

Python是由Guido van Rossum在1989年开发,然后在1991年初发布的。Python是一种跨平台的解释型语言,它功能强大,简单易学,具有面向对象编程的功能。Python是完全开源的软件,具有开放的特性,能很方便地将其他语言(尤其是C/C++)的类库封装为Python的模块来使用。

由于Python语言的特点,以及其开源和开放的特性,吸引了编程社区为Python开发了很多实用且功能强大的包(package),例如用于矩阵处理和线性代数计算的NumPy,用于科学计算的SciPy,用于数据分析的Pandas,用于数据可视化的Matplotlib等,这使得Python在科学计算、数据分析、数据可视化、神经网络、人工智能、Web编程等各方面得到了广泛的应用,逐渐成为一种主流的编程语言。

1.1.2 Python的下载与安装

Python是一个完全开源的软件,从官网上可以下载最新版本的Python安装文件。Python 3和Python 2是不兼容的,本书就不考虑Python 2了,直接下载最新的发布版本Python 3.7.0。

Python是跨平台的,有Windows、Linux、macOS等各种平台的安装文件。本书的示例程序都是在64位的Windows 7平台上开发的,所以下载64位Windows平台的离线安装文件。Python的安装过程与一般的Windows程序安装过程一样,在一个安装向导里完成安装过程。

安装向导的第一步如图1-1所示。在此窗口里勾选“Add Python 3.7 to PATH”,会自动将安装后的Python的两个文件夹路径添加到Windows系统的环境变量PATH里,这样就可以在Windows的cmd窗口里直接执行Python的一些工具程序,如python.exe、pyuic5.exe等。

图1-1 Python安装向导第一步
在图1-1中点击“Customize installation”进行定制安装,出现的窗口如图1-2所示,在此窗口中勾选所有选项。其中,pip默认是不勾选的,一定要勾选此选项。pip是Python的包管理工具程序,使用pip可以很方便地下载和安装各种第三方的Python包,包括后面用到的PyQt5、PyQtChart等,都需要通过pip安装。

图1-2 Python安装向导第二步

继续按照向导提示完成安装。这里设置Python安装到“D:\Python37”目录下,这个目录下有Python的主程序文件python.exe和pythonw.exe。

文件夹“D:\Python37\Scripts”下存放的是Python的一些工具软件,如pip.exe和pip3.exe。在安装其他一些第三方模块或工具软件后,可执行文件都安装到此目录下,例如安装PyQt5之后,会在此目录下增加3个可执行文件。

路径“D:\Python37”和“D:\Python37\Scripts”会被安装程序自动添加到Windows系统的PATH环境变量里,这两个目录下的文件就可以在Windows的cmd窗口里直接执行。如果在安装的第一步(图1-1)中没有勾选“Add Python 3.7 to PATH”,那么这两个路径不会自动添加到PATH环境变量里,需要在安装后手动添加。

1.1.3 IDLE的基本使用

Python安装后有一个交互式操作环境IDLE,其运行时界面如图1-3所示。在此交互式操作环境里,可以执行Python的各种语句。

在图1-3窗口的“File”菜单下,点击“New File”,可以打开一个文件编辑器,在这个编辑器里可以编写Python程序,然后保存为后缀为“.py”的文件。例如,在图1-4的窗口中简单地输入了两行语句,然后保存为文件hello.py。

图1-3 Python自带的IDLE交互式操作环境

点击图1-4文件编辑器的菜单项“Run”→“Run Module”,或直接按快捷键F5执行此程序,在交互式窗口里就会输出运行结果。

图1-4 Python程序文件编辑器

IDLE的功能比较简单,不像其他一些Python IDE(如Eric、PyCharm)功能那么强大,但是基本的程序编辑和调试功能是具备的。IDLE对于初学者来说简单易用,编写和调试规模不大的程序是够用的,因此本书就使用IDLE作为Python开发环境。

IDLE的文件编辑器有以下一些常用的快捷键非常有用。

  • Ctrl+],选中的代码行右缩进一个Tab。
  • Ctrl+[,选中的代码行左移一个Tab。
  • Ctrl+S,保存文件。
  • Alt+3,在选中代码行的最左端添加注释符号“##”。
  • Alt+4,删除选中代码行最左端的注释符号“##”。
  • F5,运行编辑器内的程序文件。

因为Python源程序是采用缩进确定代码段的,排版时为减少缩进空格数和缩进层级,本书设置TAB为3个空格(点击IDLE的“Options”→“Configure IDLE”菜单项进行设置),并且在程序中也基本不使用try…except和try…finally等语句块。

IDLE也具有程序调试功能。在文件编辑器中打开需要调试的源程序文件,通过鼠标右键快捷菜单在当前行设置或取消断点。在IDLE交互环境中,点击“Debug”→“Debugger”菜单项,出现如图1-5所示的调试控制窗口。按F5开始运行程序后,就进入调试状态。在调试状态下,使用图1-5窗口上的“Go”“Step”“Over”等按钮进行程序调试。程序调试的方法与一般IDE的程序调试方法类似,这里就不详细介绍了。


图1-5 程序调试控制窗口

本书不对Python语言基础做介绍,假定读者已熟悉Python语言编程的基本方法,掌握了Python中类的使用方法。如果读者对Python的基本编程不熟悉,需要找一本专门介绍Python编程基础的书学习后再来学习本书的内容。

除了Python自带的IDLE,还有许多其他用于Python编程的IDE,如PyCharm、Eric等。本书的示例程序都用IDLE编程和调试,如果读者习惯于使用其他的IDE,也可以使用自己习惯的编程环境。因为Python是解释型语言,无须编译,所以无论使用哪个IDE都可以实现Python程序的编写和运行。

1.1.4 安装Python包

Python的一大特点就是有大量的包(package)可供使用,而且都是开源的。PyPI(Python Package Index)网站就是Python程序资源的集散地,在这个网站上可以查找、下载、发布Python包。

在Windows的cmd窗口里使用pip3指令可以直接从PyPI网站下载包并安装。例如,SIP是一个用于将C++库转换为Python扩展模块的工具软件,这种扩展模块称为C++库的Python绑定(binding)。要安装SIP只需在Windows的cmd窗口里执行如下的指令:

  1. pip3 install sip

这条指令中的pip3就是“D:\Python37\Scripts”目录下的程序pip3.exe;install是指令参数,表示安装,相应地,卸载用uninstall;sip是需要安装的包的名称。

执行这条指令时,pip3会自动链接到PyPI网站上,查找最新版本的SIP,如果找到就自动下载并安装。成功安装后,在“D:\Python37\Lib\site-packages”目录下会出现SIP相关的子目录和文件,该目录下存放的都是安装的Python包。

如果要卸载已安装的SIP,执行下面的指令即可。

  1. pip3 uninstall sip

如果直接链接国外的PyPI服务器速度比较慢,可以在pip3指令中指定使用镜像服务器。例如,使用清华的镜像服务器安装SIP的指令是:

  1. pip3 install –i https://pypi.tuna.tsinghua.edu.cn/simple sip

1.2 Qt

1.2.1 Qt 简介

Qt是一个跨平台的应用程序C++开发类库,支持Windows、Linux、macOS等各种桌面平台,也支持iOS、Android等移动平台,还支持各种嵌入式系统,是应用非常广泛的跨平台C++开发类库。

Qt最早是由挪威的Haavard Nord和Eirik Chambe-Eng在1991年开始开发的,在1994年发布,并成立了一家名为Trolltech的公司。Trolltech公司在2008年被诺基亚公司收购,2012年,Qt被Digia公司收购,2014年从Digia公司拆分出来成立了独立的Qt公司,专门进行Qt的开发、维护和商业推广。

Qt的许可类型分为商业许可和开源许可,开源许可的Qt就已经包含非常丰富的功能模块,可用于Qt学习和一般的应用程序开发。

1.2.2 Qt 的下载与安装

在Python中使用PyQt5编写程序可以只安装PyQt5,而不必安装Qt的开发环境。但是为了使用Qt的IDE(即Qt Creator)的一些功能如UI窗体可视化设计、Qt类库帮助信息查找、资源文件管理等,安装Qt是有必要的。

从Qt官网可以下载最新版本的Qt软件。Qt分为商业版和社区版,社区版就是具有开源许可协议的免费版本。Qt的版本更新比较快,本书使用的是Qt 5.12.0,这是一个LTS(Long Term Supported)版本。

下载的Windows平台的Qt离线安装文件是一个可执行文件,运行文件就可以开始安装。安装过程与一般的Windows应用程序安装过程一样,按照向导进行操作即可。

在设置安装路径时,选择安装到“D:\Qt\Qt5.12.0”目录下,当然也可以安装在其他路径下。设置为这个路径,是为了在后面需要讲到Qt的路径时使用此绝对路径。

在安装过程中会出现如图 1-6 所示的安装模块选项设置页面,在这个页面里选择需要安装的模块。“Qt 5.12.0”节点下面是Qt的功能模块,包括用于不同编译器和平台的模块,这些模块如下。


图1-6 Qt安装模块选项设置

  • 使用MSVC(Microsoft Visual C++)编译器的模块,包括MSVC 2015 64-bit、MSVC 2017 32-bit和MSVC 2017 64-bit。若要安装这几个模块,需要在计算机上预先安装相应版本的Microsoft Visual Studio。本书不是为了研究Qt C++编程,因此无须安装这些模块。
  • MinGW 7.3.0 64-bit编译器模块。MinGW(Minimalist GNU__for Windows)是Windows平台上使用的GNU工具集的导入库的集合。为了使用Qt的IDE Qt Creator,必须安装至少一个编译器,可以选择安装这个模块。
  • 用于UWP平台的编译器模块。UWP(Universal Windows Platform)是Windows 10中的编译模块,有不同CPU和编译器类型的UWP模块,本书无须安装。
  • 用于Android平台的编译模块,包括Android x86、Android ARM64-v8a等,这是用于Android平台开发的编译模块,本书无须安装。
  • Sources是Qt C++类库的源程序,本书无须安装。
  • Qt Charts是二维图表模块,用于绘制柱状图、饼图、曲线图等常用二维图表。对于Python,有相应的PyQtChart包,在第12章会介绍其使用。选择安装此模块,便于查看相关类的帮助信息。
  • Qt Data Visualization是三维数据图表模块,用于数据的三维显示,如散点的三维空间分布、三维曲面等。对于Python,有相应的PyQtDataVisualization包,在第13章会介绍其使用。选择安装此模块,便于查看相关类的帮助信息。
  • Qt Purchasing、Qt Virtual Keyboard、Qt WebEngine 等其他模块,这些模块在本书里不会讲到,可以根据自己的需要选择是否安装。
  • Qt Script(Deprecated)是脚本模块,这是个已经过时的模块,无须安装。

“Tools”节点下面是一些工具软件,这些软件如下。

  • Qt Creator 4.8.0是用于Qt程序开发的IDE,在开发PyQt5的程序时需要使用此软件进行窗体可视化设计、查阅类的帮助信息等,必须安装(自动)。
  • Qt Creator 4.8.0 CDB Debugger support for Qt Creator,是用于支持在Qt Creator中进行程序调试的模块,可以不安装。
  • MinGW 7.3.0是MinGW 64-bit 编译工具链,需要安装。
  • Strawberry Perl是一个Perl语言工具,无须安装。

1.2.3 Qt的几个工具软件

安装完成后,在Windows“开始”菜单里建立的“Qt 5.12.0”程序组内容如图1-7所示。程序组中的一个主要程序是Qt Creator 4.8.0(Enterprise),它是用于开发Qt程序的IDE,是Qt的主要工具软件。

根据选择安装的编译器模块会建立相应的几个子分组,例如,在图1-7中有两个版本的编译器模块,即MinGW 7.3.0(64-bit)和MSVC 2015(64-bit),每个分组下面都有以下3个工具软件。


图1-7 安装后“开始”菜单里的“Qt 5.12.0”程序组

  • Qt Assistant是一个独立的查看Qt帮助文档的工具软件。在Qt Creator中也可以方便地查看Qt帮助文档,基本用不着这个软件。
  • Qt Designer是一个进行窗体可视化设计的工具软件。Qt Creator中也有一个内置的窗体可视化设计工具软件(本书称之为UI Designer),而且UI Designer可以为界面组件的信号生成槽函数框架,所以在本书中不使用这个独立的Qt Designer,而使用Qt Creator内置的UI Designer。
  • Qt Linguist是一个编辑语言资源文件的工具软件,在第11章介绍开发多语言界面的应用程序时会用到。

1.2.4 Qt Creator的设置

本书对使用的Qt Creator做了一些设置:一是将界面语言设置为英语,因为初始的汉语界面中某些词汇翻译得并不恰当,使用英语界面会更准确一些;二是设置文件命名规则,取消默认的全小写命名文件规则。

启动Qt Creator后,点击Qt Creator菜单栏的“Tools”→“Options…”菜单项打开如图1-8所示的选项设置对话框。

界面语言设置:点击对话框左侧Environment分组后,在Interface页面将界面语言设置为English,设置主题为Flat Light。更改语言和主题后需要重新启动Qt Creator才会生效。

文件命名规则设置:在图1-8所示的C++分组的File Naming页,取消“Lower case file names”选项。默认是勾选此项的,即自动命名的文件名采用全小写字母。

在本书里用Qt Creator只需要进行窗体可视化设计、生成槽函数代码框架、查阅Qt帮助文档,而不需要使用Qt Creator编写任何C++程序。Qt Creator的具体使用在下一章详细介绍。

图1-8 Qt Creator的选项设置对话框

1.3 PyQt5

1.3.1 PyQt5简介

Python语言功能很强,但是Python自带的GUI开发库Tkinter功能很弱,难以开发出专业的GUI。好在Python语言的开放性,很容易将其他语言(特别是C/C++)的类库封装为Python绑定,而Qt是非常优秀的C++ GUI类库,所以就有了PyQt。

PyQt是Qt C++类库的Python绑定,PyQt5对应于Qt5类库。Qt推出新的版本后,PyQt就会推出跟进的版本,例如针对Qt 5.12.0就有PyQt 5.12。使用PyQt5可以充分利用Qt的应用程序开发框架和功能丰富的类设计GUI程序。PyQt主要有以下一些优点。

  • PyQt将Qt的跨平台应用框架与Python的跨平台解释语言结合在了一起。
  • Qt使用信号与槽(Signals/Slots)机制进行对象之间的通信,它是类型安全且弱耦合的,易于创建可重用的软件模块。
  • 使用Qt Creator中的UI Designer或独立的Qt Designer可以可视化地设计窗体,然后将窗体转换为Python程序,可以大大提高界面设计的效率。
  • PyQt将Qt和Python的优点结合到了一起,程序员可以利用Qt丰富的UI设计功能,但不需要使用复杂的C++语言,而是使用Python语言编程。

PyQt5是Riverbank公司的产品,分为开源版本和商业版本,开源版本就包含全部的功能。Riverbank公司不仅开发了PyQt5,还开发了PyQtChart、PyQtDataVisualization、PyQt3D、SIP等软件包。可以在Riverbank公司网站上下载这些软件包的源代码,在PyPI网站上也可以找到这些软件包,所以可以使用pip3指令直接安装。

1.3.2 PyQt5安装

在PyPI网站上可以找到最新版本的PyQt5,直接用下面的指令安装PyQt5。

  1. pip3 install PyQt5

直接连接PyPI服务器可能速度比较慢,可以使用镜像网站安装,例如使用清华大学镜像网站的指令是:

  1. pip3 install –i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5

这条指令正确执行后就会安装PyQt5,并且会自动安装依赖的包SIP。SIP是一个将C/C++库转换为Python绑定的工具,SIP本来是为了开发PyQt而开发的,现在也可以用于将任何C/C++库转换为Python绑定。

安装PyQt5之后,在“D:\Python37\Scripts”目录下增加了pylupdate5.exe、pyrcc5.exe和pyuic5.exe这3个用于PyQt5的可执行程序,如图1-9所示。这3个可执行程序的作用分别如下。

  • pyuic5.exe是用于将Qt Designer(或Qt Creator内置的UI Designer)可视化设计的界面文件(.ui文件)编译转换为Python程序文件的工具软件,是使用PyQt5设计GUI程序最常用到的工具软件。
  • pyrcc5.exe是用于将Qt Creator里设计的资源文件(.qrc文件)编译转换为Python程序文件的工具软件,资源文件一般存储了图标、图片等UI设计资源。
  • pylupdate5.exe是用于多语言界面设计时编辑语言资源文件的工具软件。

图1-9 安装PyQt5之后的Scripts子目录下的可执行文件

路径“D:\Python37\Scripts”被添加到了Windows的PATH环境变量里,所以这些程序在cmd窗口里可以直接运行。

若想要卸载PyQt5,就执行下面的指令:

  1. pip3 uninstall PyQt5

1.3.3 在IDLE中开启对PyQt5的代码提示功能

在安装了PyQt5之后,可以在IDLE中开启代码提示功能,并且添加PyQt5的所有模块,这样在编写程序时,IDLE就具有一定的代码提示功能。

首先编辑目录“D:\Python37\Lib\idlelib”下的文件config-extensions.def,修改[AutoComplete]部分:

  1. [AutoComplete]
  2. enable=True
  3. popupwait= 20

这表示开启自动提示功能,提示开启的延迟时间是20毫秒。

然后再编辑同一目录下的文件autocomplete.py,在文件的import部分导入PyQt5的各个模块:

  1. import os
  2. import string
  3. import sys
  4. ##添加需要自动提示的模块
  5. import PyQt5.QtWidgets
  6. import PyQt5.QtCore
  7. import PyQt5.QtGui
  8. import PyQt5.QtSql
  9. import PyQt5.QtMultimedia
  10. import PyQt5.QtMultimediaWidgets
  11. import PyQt5.QtChart
  12. import PyQt5.QtDataVisualization

这样就将 PyQt5 的各个常用模块以及第 12 章和第 13 章要单独安装的PyQtChart和PyQtDataVisualization加入了可提示模块列表。

开启和设置自动提示功能后,在IDLE中使用PyQt5各模块中的类时就会有代码提示功能。但是IDLE的代码提示功能比较弱,不如PyCharm、Eric等专业IDE软件。

一本专门学习PyQt5 GUI 的编程书相关推荐

  1. c gui qt 4编程第二版_一本专门学习PyQt5 GUI编程的书

    Python作为一个开源的解释型编程软件,在教学.科研.实际项目中用得越来越多.Python易学易用,程序资源丰富,在编程解决一些科学计算问题时比较实用,但是Python自带的Tkinter包设计GU ...

  2. 学习《GUI Qt4 编程》笔记-02-代码实现控件布局-设计师控件布局

      对话框,之所以被成为对话框,是因为它们为用户和应用程序之间提供了一种可以相互"交谈"的交互方式.   绝大多数的图形用户界面应用程序都带有一个有菜单栏.工具栏构成的主窗口以及几 ...

  3. 学习C/C++:伴随我成长的编程书!

    学习C++是一个艰难的过程.如果从我第一次看C++的书算起,现在已经过了11年了.一开始的动机也是很不靠谱的.刚开始我很喜欢用VB6来开发游戏,但是我能找到的资料都是用C++来做例子的,文字部分又不丰 ...

  4. delphi windows编程_学习C/C++:伴随我成长的编程书!

    学习C++是一个艰难的过程.如果从我第一次看C++的书算起,现在已经过了11年了.一开始的动机也是很不靠谱的.刚开始我很喜欢用VB6来开发游戏,但是我能找到的资料都是用C++来做例子的,文字部分又不丰 ...

  5. 这是一本数学书还是一本编程书?学好数学,让你成为更好的程序员

    <计算思维与Python编程>是我们早期的Mathematics for the Digital Age and Programming in Python一书的 "更早讲Pyt ...

  6. python qt5 gui快速编程_现货正版 Python Qt GUI与数据可视化编程 pyqt5教程书籍 pyqt5快速开发与实战Qt5 GUI快速编程 计算机网络程序设计人民邮电出版社...

    热销单品 查看更多 > RMB:85.00 立即购买 RMB:63.50 立即购买 RMB:73.50 立即购买 RMB:49.50 立即购买 RMB:127.80 立即购买 RMB:66.00 ...

  7. Matlab GUI界面编程小白学习笔记

    某个天朗气清的下午,老师给我布置了一个Matlab GUI 界面设计的任务,然后欢天喜地回家结婚去了,留我在美好的假期里继续孤零零地在学校里耕耘.好的,在此先祝贺老师新婚快乐,百年好合.然后咱们开始从 ...

  8. 图形用户界面(GUI)编程可以学习C++ Builder,架构先进(和C#一样拖控件)

    图形用户界面(GUI)编程可以学习C++ Builder,架构先进(和C#一样拖控件),入门比较容易. -------------------- C++ Builder是真正的可视化的开发工具.C++ ...

  9. 我是如何阅读编程书的

    英文原文:How I Read Programming Books,编译:外刊IT评论 我是学电子工程毕业的,在这个专业里我必须要用的编程语言只有C/C++,汇编和Matlab.在参加了一个创业周末的 ...

最新文章

  1. java digestutils_java-Apache DigestUtils似乎部分错误地计算了MD5
  2. 位向量(bit vector)(算法导论第十一章11.1-2)
  3. 工厂模式个人案例_工厂设计模式案例研究
  4. eclipse配置tomcat,并部署一个Java web项目到tomcat上
  5. VB 游戏外挂操作类
  6. 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表中为标识列指定显式值问题...
  7. [转]几种图像处理类库的比较
  8. 广义线性模型 逻辑回归与softmax的推导
  9. 2021年荷兰经济发展研究报告
  10. C++多线程函数_beginthread/_beginthreadex/CreateThread
  11. 实现自动发送QQ消息的简单vbs小程序
  12. Gradle基础教程
  13. AAAI 2021 Structured Co-reference Graph Attention for Video-grounded Dialogue
  14. win32游戏开发(2) --连连看游戏制作(vc++版)
  15. java sqlserver 插入数据_java中怎样向SQLserver中插入数据
  16. 2020年了,IT外企还香吗?
  17. 人脸考勤机是如何工作的?人脸考勤机有哪些优缺点?
  18. sqlite数据库文件提示损坏修复方法
  19. VisualVM Mac 安装和
  20. python 住区数据_Python实现的北京积分落户数据分析示例

热门文章

  1. MooTools and Sizzle
  2. java斗地主案例,没有界面
  3. C#winform小demo-串口传输实现硬件数据回传(数据处理/输出txt文件保存)
  4. qsort 函数的使用
  5. 培训机构的程序员,出来工作就18k,真的能适应吗?
  6. 001_Whetting Your Appetite_引言
  7. 数组14:分离整数各位
  8. heidisql使用的注意事项
  9. 《Cloud Native Data Center Network》读书笔记-1
  10. (二)zynq芯片是什么