欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-10 21:42:38
...

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_())

效果如下图:输出客户区的相关属性
PyQt5基本控件详解之QWidget(二)

实例二:设置程序图标

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_())

效果如下:实现了程序左上角图标的加载
PyQt5基本控件详解之QWidget(二)

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

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_())

效果如下:由于未知原因,气泡未能显示出来
PyQt5基本控件详解之QWidget(二)

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

相关标签: Pyqt5 基本控件