一、窗体的基本属性及方法
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())