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

标签: Pyqt5  基本控件

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)
  • 获得窗口左上角的坐标
    • 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('这是一个</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_())

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

源码以及相关文件下载:https://download.csdn.net/download/jia666666/10597897

版权声明:本文为jia666666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jia666666/article/details/81489090