最近 qt 团队发了一篇文章( 。
下面看个例子
上面的代码是在同一个文件中。这里为了看的效果好一点,我分开截的图。
这里我们通过 qlineedit 和 qpushbutton 分别创建了一个输入框和一个按钮,然后把这两个组件放在了 qvboxlayout 容器组件中。当容器组件的大小和位置发生变化时,容器里面的组件的大小和位置也会发生变化。因此,我们使用了垂直方向的布局组件,刚好能让布局里面的组件能够叠起来。
最后,我们将按钮的点击事件与 greetings() 方法绑定,当按钮每次被点击时,对应的方法就会执行。这个例子中,当按钮被点击时,程序会读取输入框中的内容并在控制台上进行打印。运行界面类似这样
编写一个表单界面
我们最终编写的界面类似这样
代码如下
同样,上面的代码在同一个文件中。我们使用了多种布局去排列组件。最顶层我们使用的是 qvboxlayout 组件,内层使用的是 qhboxlayouts 组件。添加标签以及输入框相关代码比较类似,这里不做更多说明。
小结
本文没有涉及过多的技术原理,只是简单的介绍了下基础的用法,有兴趣的朋友可以去看看官方文档。此外,我更想说明的是,这次 qt 团队重新拾起了 pyside 的开发,这个行动可能会激起其它开发者对 python ui 框架的开发热情。不管怎么样,对 pyside 以及 python 客户端应用的开发的发展我还是比较看好的。