Python 图形开发:PyQt 菜单栏与工具栏的创建

在这篇文章中,我将讲解如何创建菜单栏以及工具栏。

我们将创建一个主窗口,以一个简单的 QLabel 作为中心窗口部件,此外还有菜单栏、工具栏和状态栏。

QLabel 用于在菜单被点击后显示相应的文本,状态栏用于在光标移动到菜单上时显示相应的提示。

我们先给出完整的代码,然后再具体解释这些代码的[......]

阅读全文

[译]Qt模型/视图(Model/View)指南

每一个 UI 开发者都应该知道模型/视图编程,而这个指南的目的就是要带给你一个简单易懂的关于这一话题的介绍。
表格、列表和树型窗口部件是 GUI 开发中经常会用到的窗口部件。这些窗口部件有两种不同的方式来获取数据。传统的方式是窗口部件本身包含用于存储数据的内置容器。这种方式非常符合直观感受,然而,在[......]

阅读全文

Python 高级编程:异常编码处理

在程序开发过程中,经常需要处理各种各样的异常。异常处理,是高级语言中一个强有力的工具,通过捕捉异常,可以避免程序意外退出,还可以避免数据受到破坏,让程序更加健壮。

在这篇文章中,我们将讨论异常的引发与处理。

1. 手动引发异常

raise

我们可以使用 raise 来手动引发一个异常,只需要[......]

阅读全文

Python 图形开发:PyQt 信号与槽机制

1. 信号与槽机制的引入

在绝大多数 GUI 库中,每个事件的发生往往伴随十分详细的信息,以供开发人员使用。
例如鼠标点击的精确坐标、按钮是通过鼠标按下还是通过空格键按下等等。
然而很多情况下,我们并不需要知道这些行为具体是如何发生的,只需要知道用户想要做些什么。
例如,我们只关心哪个按钮被按下,[......]

阅读全文

Vim 使用进阶:10 种寄存器剖析

寄存器的类型

Vim的强大功能有很大一部分体现在它丰富的寄存器上。我们可以灵活使用寄存器存取文本,还能将命令录制于寄存器中。

在Vim中,大部分的修改操作都能够撤销,而这也要归功于背后的寄存器。下面我们来看看Vim这个神器都有哪些神奇的寄存器。

在Vim中,寄存器被分为以下10种类型:

  1. 未命[......]

阅读全文

Python 优雅编程之 str.format()

1. str.format 的引入

在 Python 中,我们可以使用 + 来连接字符串,在简单情况下这种方式能够很好的工作。但是当我们需要进行复杂的字符串连接时,如果依然使用 + 来完成,不仅会使代码变得晦涩难懂,还会让代码变得难以维护,此时这种方式就显得力不从心了。

例如,我们想打印这样一条[......]

阅读全文