QWidget基本介绍

基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类。

窗口坐标系统

PyQt使用统一的坐标系统来定位窗口控件的位置和大小,具体如下

以屏幕左上角为原点,也就是(0, 0)点,从左向右为x轴正方向,从上向下为y轴正方向,整个屏幕的坐标系统用来定位顶层窗口。

在窗口内部也有自己的坐标系统,该坐标系统以客户区的左上角为原点,从左向右为x轴正方向,从上到下为y轴正方向,在客户区周围有标题栏和边框。

从上图中,可以将这些成员函数分成三类:QWidget直接提供的成员函数,x(), y()获得整个窗口左上角的坐标,width()和height()返回客户区的宽度和高度。

QWidget的geometry()提供的成员函数,x(),y()返回的是客户区左上角坐标,width(),height()返回客户区宽度和高度。

QWidget的frameGeometry()提供的成员函数,x(),y()返回的是整个窗口左上角的坐标,-width(),height()也是整个对话框的宽度和高度,包括标题栏和边框。

从上图可以看出来,QWidget有两种常见的几何结构不包含外面各种边框的几何结构(客户区)。

包含各种边框的几何结构。

不包含边框常用函数

改变客户区面积QWidget.resize(width, height)

获取客户区大小QWidget.size()

获取客户区的宽度和高度QWidget.width()

QWidget.height()

设置客户区的宽度和高度(在某些维度上值不可改变)QWidget.setFixedWidth(int width)

QWidget.setFixedHeight(int height)

QWidget.setFixedSize(int width, int height)

设置窗口的位置(值可以改变)QWidget.setGeometry(int x, int y, int width, int height)

包含边框常用函数

获取窗口的大小和位置QWidget.frameGeometry()

设置窗口的位置QWidget.move(int x, int y)

获取窗口左上角坐标QWidget.pos()

屏幕坐标系统实例from PyQt5.QtWidgets import QApplication,QMainWindow,QWidget,QPushButton

import sys

app=QApplication(sys.argv)

#窗口

widget=QWidget()

#按钮继承在窗口中,并实例化

btn=QPushButton(widget)

#按钮命名

btn.setText('button')

#以QWdiget左上角为(0,0)点,按钮移动到坐标处

btn.move(20,20)

#不同的操作系统可能对窗口的最小宽度有规定,若设置宽度小于规定值,则会以规定值进行显示

widget.resize(300,200)

#以屏幕左上角为(0,0)的点,窗口移动到指定坐标处

widget.move(250,200)

widget.setWindowTitle('pyqt坐标系统例子')

widget.show()

#输出窗口的rect(x,y,width,height)

print('QWidget:')

#x,y获取窗口左上角的坐标

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

print('w.y()=%d' %widget.y())

#width,height获取客户区的宽度与高度

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

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

#客户区的大小

print('客户区的大小:%d' %widget.size())

print('QWidget.geometry')

#x,y获取客户区的左上角坐标(包含窗口的标题与边框部分)

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

print('widget.geometry().y()=%d' %widget.geometry().y())

#width,height获取客户区的宽度与高度

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

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

sys.exit(app.exec_())

效果如下图:输出客户区的相关属性

设置程序图标实例import sys

from PyQt5.QtGui import QIcon

from PyQt5.QtWidgets import QWidget,QApplication

#创造一个名为Icon的窗口类,继承自Qwidget

class Icon(QWidget):

def __init__(self,parent=None):

super(Icon, self).__init__(parent)

self.initUI()

#初始化窗口

def initUI(self):

#设置窗口在屏幕中的位置与窗口的大小

self.setGeometry(300,300,250,150)

self.setWindowTitle('程序图标')

#设置窗口图标,需要提供图标的路径

self.setWindowIcon(QIcon('E:\pyqt5快速开发与实战\第四章\images\cartoon1.ico'))

if __name__ == '__main__':

app=QApplication(sys.argv)

icon=Icon()

icon.show()

sys.exit(app.exec_())

效果如下:实现了程序左上角图标的加载

显示气泡提示信息实例import sys

from PyQt5.QtGui import QFont

from PyQt5.QtWidgets import QWidget,QApplication,QToolTip

class WinForm(QWidget):

def __init__(self,parent=None):

super(WinForm, self).__init__(parent)

self.initUI()

def initUI(self):

#设置气泡提示信息的字体和大小

QToolTip.setFont(QFont('SansSerif',10))

#设置气泡提示

self.setToolTip('这是一个气泡显示')

self.setGeometry(200,300,400,400)

self.setWindowTitle('气泡提示demo')

if __name__ == '__main__':

app=QApplication(sys.argv)

win=WinForm()

win.show()

sys.exit(app.exec_())

本文详细介绍了PyQt5窗口控件QWidget详细使用方法,要了解更多关于这方面的知识请查看下面的相关链接

python gui界面 tcp_python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法相关推荐

  1. qpython3可视图形界面_python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法...

    QWidget基本介绍 基础窗口控件QWidget类是所有用户界面对象的基类,所有的窗口或者控件都直接或者间接的继承自QWidget类. 窗口坐标系统 PyQt使用统一的坐标系统来定位窗口控件的位置和 ...

  2. pythongui项目实例_python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例...

    PyQt5状态栏控件QStatusBar简介 MainWindow对象在底部保留有一个水平条,作为状态栏(QstatusBar),用于显示永久或临时的状态信息 QStatusBar类中的常用方法 方法 ...

  3. python选项卡控件_python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与...

    PyQt5选项卡控件QTabWidget简介 QTabWidget控件提供了一个选项卡和一个页面区域,默认显示第一个选项卡的页面,通过单击各选项卡可以查看对应的界面,如果在一个窗口中显示的输入字段很多 ...

  4. Qt GUI图形图像开发之QT表格控件QTableView详细使用方法与实例

    QT表格控件QTableView简介 ​ 表格视图控件QTableView,需要和QStandardItemModel, 配套使用,这套框架是基于MVC设计模式设计的,M(Model)是QStanda ...

  5. python表格控件_python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例...

    PyQt5表格控件QTableView简介 在通常情况下,一个应用需要和一批数据进行交互,然后以表格的形式输出这些信息,这时就需要用到QTableView类了,在QTableView中可以使用自定义的 ...

  6. python gui控件案例_python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例...

    PyQt5布局控件QHBoxLayout简介 采用QBOXLayout类可以在水平和垂直方向上排列控件,QHBoxLayout和QVBoxLayout类继承自QBoxLayout 采用QHBoxLay ...

  7. python gui 显示表格_python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例...

    PyQt5表格控件QTableView简介 在通常情况下,一个应用需要和一批数据进行交互,然后以表格的形式输出这些信息,这时就需要用到QTableView类了,在QTableView中可以使用自定义的 ...

  8. pythongui界面实例带注释_python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例...

    PyQt5状态栏控件QStatusBar简介 MainWindow对象在底部保留有一个水平条,作为状态栏(QstatusBar),用于显示永久或临时的状态信息 QStatusBar类中的常用方法 方法 ...

  9. python menu实例_python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例...

    PyQt5菜单栏控件QMenuBar介绍 QMenuBar在QMainWindow对象的标题栏下方,水平的QMenuBar被保留显示QMenu对象 QMenuBar类提供了一个可以包含一个或多个QAc ...

最新文章

  1. pytorch之Tensor与Variable的区别
  2. iOS开发JSON字符串和字典互转
  3. MemberShip使用大全
  4. python2版本和python3版本-python2和python3哪个版本新
  5. 计算机网络核心知识(中)
  6. C语言 | 求级数的和
  7. 编程语言的发展趋势及未来方向(7):总结
  8. 用apache的httpclient发请求和接受数据
  9. leetcode77
  10. 【学习笔记】Python办公自动化 - Task 01 文件自动化处理 邮件自动发送
  11. SpringBoot Banner图标修改 + 文字生成器
  12. 全民投资人游戏服务器维护,欢乐园《全民仙战》2月3日14时合服公告
  13. 【和小冉一起学习c++】踏入c++的大门~第一个c++程序
  14. oracle的 listagg() WITHIN GROUP () 函数使用
  15. 创意简约唯美小清新感恩节蓝色通用PPT模板
  16. java实现utf-8与GB2312编码的转换
  17. RxJava+Retrofit+Mvp实现购物车(没有结算页面)
  18. 基于matlab的控制系统仿真题,MATLAB与控制系统仿期末考试试卷真
  19. 搜索引擎使用小技巧(通配符)
  20. 化工行业动态:华峰化学业绩超预期,新增推荐标的_中泰化学(20210117).PDF

热门文章

  1. java 基本数据类型所占字节数及其范围
  2. 降低神经网络在光纤信道均衡方面的复杂度:从概念到应用
  3. 非线性振动 matlab,基于MATLAB的车削细长轴过程非线性振动分析.pdf
  4. c 回调java_jni不通过线程c回调java的函数
  5. JAVA入门算法题(十三)
  6. 管道泄漏声波信号及预处理
  7. PCS储能逆变并网模型 逆变侧采用背靠背三电平设计 SVPWM控制算法
  8. 第二章 SYN6288语音合成模块的使用
  9. “实体梁的铰接”你还不会吗?SOLIDWORKS Simulation轻松实现
  10. Idea中新建Servlet+JSP项目