当前位置:   article > 正文

PyQt5基本控件详解之QWidget(二)_pyqt5 pos

pyqt5 pos

QWidget

详解内容

  • -

两种常用的几何结构

  • 不包含边框的常用函数
  • 包含边框的常用函数
    • 实例 :一屏幕坐标系统显示
    • 实例二:设置程序图标
    • 实例三:显示气泡提示信息

QWidget不含边框的常用函数

  • 改变客服区的面积

    QWidget.resize(width,heigth)
    QWidget,resize(QSize)

    这两个函数改变了长方形的大小,其中第一个参数是宽度,第二个参数是高度。
    设置了大小的窗口,还可以用鼠标来改变它的大小

  • 获得客户区的大小

    • Qwidget.size()
  • 获得客户区的宽度与高度

    • QWidget.width()
    • QWidget.height()
  • 设置客户区的宽度与高度

    • QWidget.setFixedWidth(int width)
    • *使用上面这个函数,客户区的高度是固定的,不可以改变,只可以改变宽度*
    • QWidget.setFixedHeight(int height)
    • *使用上面这个函数,客户区的宽度是固定的,不可以改变,只可以改变高度*

QWidget.setFixedSize(Qsize size)
QWidget.setFixedSize(int width,int height)

通过上面这两个函数,高度和宽度都是固定的,不可以通过鼠标来改变窗口的宽度与高度,
如果要同时改变客户区的大小和位置,需要用到以下函数

QWidget,setGeometry(int x, int y, int width, int height)
QWidget.setGeometry(QRect rect)

x和y对应的就是x和y坐标,可以不单独设置x和y坐标

QWidget包含边框的常用函数

  • 获得窗口的大小和位置
    -`QWidget.frameGeometry()
  • 设置窗口的位置
QWidget.move(int x,int y)
QWidget.move(QPoint,point)12
  • 1
  • 2
  • 获得窗口左上角的坐标
    • 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_())123456789101112131415161718192021222324252627282930313233343536373839404142434445
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

效果如下图:输出客户区的相关属性
这里写图片描述

实例二:设置程序图标

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_())
1234567891011121314151617181920212223
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

效果如下:实现了程序左上角图标的加载
这里写图片描述

实例三:显示气泡提示信息

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('这是一个</b>气泡显示</b>')
        self.setGeometry(200,300,400,400)
        self.setWindowTitle('气泡提示demo')
if __name__ == '__main__':
    app=QApplication(sys.argv)
    win=WinForm()
    win.show()
    sys.exit(app.exec_())123456789101112131415161718192021
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

效果如下:由于未知原因,气泡未能显示出来
这里写图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/974342
推荐阅读
相关标签
  

闽ICP备14008679号