PyQt5窗体-QWdiget


一、窗体的基本属性及方法

1、创建窗口的主要类:QMainWindow、QWidget、QDialog

 QMainWindow窗口可以包含菜单栏、工具栏、状态栏和标题栏等,是GUI程序的主窗口。

QWidget是对话框窗口的基类。对话框主要用来执行短期任务,或者与用户进行互动。

如果是主窗口,就使用QMainWindow类;如果是对话框,就使用QDialog类;如果不确定,或者有可能作为顶层窗口,也有可能嵌入到其他窗口中,那么就使用QWidget类。

2、方法

addToolBar() 添加工具栏

centralWidget() 返回窗口中心的一个控件,未设置时返回NULL

menuBar() 返回主窗口的菜单栏

setCentralWidget() 设置窗口中心的控件

setStatusBar() 添加状态栏

statusBar() 获得状态栏对象后,调用状态栏对象的showMessage(message,int timeout = 0)方法,显示状态栏信息。其中第一个参数是要显示的状态栏信息;第二个参数是信息停留的时间,单位是毫秒,默认是0,表示一直显示状态栏信息

3、QWidget的常用控制窗口大小和位置的方法

•resize(): 改变客户区的大小;

•size(): 获得客户区的大小;

•width(): 获得客户区的宽;

•height(): 获得客户区的高度;

•setFixedWidth(): 将客户区宽度设置为固定值,不可以通过鼠标来改变窗口的宽度;

•setFixedHeight(): 将客户区高度设置为固定值,不可以通过鼠标来改变窗口的高度;

•setFixedSize(): 将客户区大小设置为固定值,不可以通过鼠标来改变窗口的大小;

•setGeometry(): 同时改变客户区的大小和位置;

•geometry(): 获得客户区的大小和位置;

•frameGeometry(): 获得窗口的大小和位置;

•move(): 设置窗口的位置;

•pos(): 获得窗口左上角的位置。

•setWindowTitle(): 设置窗口标题信息

•show(): 显示窗口

•hide(): 隐藏窗口

4、代码如下

import sys

from PyQt5.QtWidgets import QApplication, QWidget

 from PyQt5.QtCore import QSize


if __name__ == '__main__':

    app = QApplication(sys.argv)

    wid = QWidget()

    wid.setWindowTitle('实战PyQt5: QWidget Demo!')

    wid.resize(400, 280)

    wid.show() #在终端窗口中输出一些数据信息

    print('QWidget:') #x,y获取窗口左上角的坐标

    print('widget.x()=%d' %wid.x())

    print('widget.y()=%d' %wid.y()) #width, height获取客户区的宽度与高度

   print('widget.width()=%d' %wid.width())

   print('widget.height()=%d' %wid.height())

   print('')

   print('QWidget.geometry')

   print("widget.geometry().x() = %d " %wid.geometry().x())

   print("widget.geometry().y() = %d " %wid.geometry().y())

   print("widget.geometry().width() = %d " %wid.geometry().width())

   print("widget.geometry().height() = %d " %wid.geometry().height())

   print('')

   print('QWidget.frameGeometry')

   print("widget.frameGeometry().x() = %d " %wid.frameGeometry().x())

   print("widget.frameGeometry().y() = %d " %wid.frameGeometry().y())

   print("widget.frameGeometry().width() = %d " %wid.frameGeometry().width())

   print("widget.frameGeometry().height() = %d " %wid.frameGeometry().height())

   sys.exit(app.exec())

5、效果如下

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。