PyQt基础第1篇——QWidget,QDialog,QMainWindow介绍

来源:互联网 发布:javascript案例教程 编辑:程序博客网 时间:2024/06/05 06:19

        今天介绍Qt的最基本的框架,QWidget,QDialog,QMainWindow。代码中会有Python+Qt,对Python还是小白的PyQt爱好者可以看看Python基本的语法即可。 本人不敢对这三个类t妄自下定义,只能靠拙劣的英文水平尽量将帮助文档中的说法给大家最大限度的还原出来。如果有蹩脚的地方,还请大家看Qt的官方自带文档。

        1、QWidget介绍:

        QWidget是所有用户界面类的元类,它能接受所有的鼠标、键盘和其他系统窗口事件。一个没有被嵌入到父窗口中的Widget会被当做是一个窗体来调用,如果是被当做窗体来调用,那么就会拥有窗体所具备的标题栏。当然,它也可以根据设置合适的windowflags来设置合适的窗体效果。QWidget的构造函数可以接受两个参数,第一个参数是该窗体的父窗体,第二个参数是该窗体的falg。根据父窗体来决定Widget是嵌入到父窗体中还是被当做一个独立的窗体来调用,根据Flag来设置Widget窗体的一些属性。

       /2、QDialog介绍:

        QDialog类是对话框窗口的基类。对话框窗口是主要用于短期任务以及和用户进行简要通讯的顶级窗口。QDialog可以是模式的也可以是非模式的。QDialog支持扩展性并且可以提供返回值。它们可以有默认按钮。QDialog也可以有一个QSizeGrip在它的右下角,使用setSizeGripEnabled()。

        注意QDialog使用父窗口部件的方法和Qt中其它类稍微不同。对话框总是顶级窗口部件,但是如果它有一个父对象,它的默认位置就是父对象的中间。它也将和父对象共享工具条条目。

        这里有三种有用的对话框:

        模态对话框就是阻塞同一应用程序中其它可视窗口的输入的对话框:用户必须完成这个对话框中的交互操作并且关闭了它之后才能访问应用程序中的其它任何窗口。模式对话框有它们自己的本地事件循环。用来让用户选择一个文件或者用来设置应用程序参数的对话框通常是模式的。调用exec()来显示模式对话框。当用户关闭这个对话框,exec()将提供一个可用的返回值并且这时流程控制继续从调用exec()的地方进行。通常,我们连接默认按钮,例如“OK”到accept()槽并且把“Cancel”连接到reject()槽,来使对话框关闭并且返回适当的值。另外我们也可以连接done()槽,传递给它AcceptedRejected

        非模态对话框是和同一个程序中其它窗口操作无关的对话框。在字处理软件中查找和替换对话框通常是非模式的来允许同时与应用程序主窗口和对话框进行交互。调用show()来显示非模式对话框。show()立即返回,这样调用代码中的控制流将会继续。在实践中你将会经常调用show()并且在调用show()的函数最后,控制返回主事件循环。

        3、QMainWindow介绍:

        QMainWindow提供给用户一个应用程序框架,它有它自己的布局,你可以添加工具栏,菜单,和状态栏到它提供的布局中。它有一个中央区域可以被一个Widget来占位(因为这个地方本来就有一个布局)。它不能创建一个没有中央窗口的QMainWindow,一个的QMainWindow也会有一个占位符来占着中央窗口的。你可以用setCentralWidget()来设置中央窗体。

        注意:QMainWindow不能setLayout,因为它有自己的Layout。

        理论性的东到此为止啦,关于其用处,在以后的分享中遇到再详述。

0 0
原创粉丝点击