首页 > 其他分享 >pyqt5-QWidget

pyqt5-QWidget

时间:2023-04-16 23:44:07浏览次数:45  
标签:返回 窗口 设置 int self pyqt5 QWidget 组件

1、介绍

QWidget是几乎所有pyqt组件的直接或间接父类,其声明的属性和方法很具有代表性。其他组件极大可能是直接使用,所以一般不再阐述。除非少数可能做了个性化覆写。

2、类和初始化

class QWidget(__PyQt5_QtCore.QObject, __PyQt5_QtGui.QPaintDevice):
    def __init__(self, parent=None, flags, Qt_WindowFlags=None, Qt_WindowType=None, *args, **kwargs):
        pass

3、属性

类的全局属性:

    DrawChildren = 2
    DrawWindowBackground = 1
    IgnoreMask = 4

4、方法

(1)x

  • 返回x坐标,类型为int
  • 即当前组件左上顶点,相对于父组件左上顶点的水平方向距离,一般为正数。
  • 如果父组件不存在,比如说主窗口,其x是主窗口相对于屏幕的左上顶角确定。如果主窗口向左移动,将左上顶角隐藏,则x为负数值

(2)y

  • 返回y坐标,类型为int
  • 即当前组件左上顶点,相对于父组件左上顶点的垂直方向距离,一般为正数。
  • 如果父组件不存在,比如说主窗口,其y是主窗口相对于屏幕的左上顶角确定。

(3)width

  • 返回组件宽度,类型为int

(4)height

  • 返回组件高度,类型为int

(5)update

        update(self)
        update(self, QRect)
        update(self, QRegion)
        update(self, int, int, int, int)
  • 其具有四种调用方法,默认效果是进行组件的更新显示,某些组件设置可能存在无法立即刷新的效果,可以调用该方法,不用传参
  • 也可以设置组件的位置和大小。其位置是相对于父组件进行设置

(6)setToolTip

  • 设置工具提示文本,参数为str
  • 一般组件设置后,将鼠标放到组件上,会提示设置的文本。经测试,QMainWindow对象可以设置和获取tooltip,但是不会显示

(7)toolTip

  • 获取工具提示文本,返回类型为str

(8)close

  • 关闭当前组件

(9)show

  • 显示当前组件
  • QMainWindow组件必须手动调用该方法,才会显示。如果没有调用该方法,组件仍然会创建,程序运行中,但是不会显示

(10)pos

  • 获取组件的位置,返回类型’PyQt5.QtCore.QPoint’
  • 其值获取的实际是当前组件的左上顶角,相对父组件左上顶角的位置。如果没有父组件,比如QMainWindow,则其是相对于屏幕进行返回。
  • QPoint的数据格式是(x,y),x表示水平方向,y表示垂直方向,一般都为正数。而主窗口相对于屏幕移动,将部分隐藏到水平方向的左侧超出屏幕范围,会显示x为负数的值

(11)move

        move(self, QPoint)
        move(self, int, int)
  • 移动组件的位置
  • 两种调用方法,设置是相对于父组件的绝对位置

(12)destroy

def destroy(self, destroyWindow=True, destroySubWindows=True)
  • 该方法是用于关闭窗口用的,与close关闭当前组件区分
  • 默认destroyWindow为True,即关闭所在窗口;默认destroySubWindows也为True,即关闭打开的子窗口

(13)window

  • 返回当前组件的窗口对象,如果本身就是窗口,则返回本身对象
  • 比如QMainWindow对象调用该对象,返回类型即QMainWindow

(14)setWindowTitle

  • 设置窗口标题,参数为str类型

(15)windowTitle

  • 获取窗口标题,返回类型为str类型。
  • 如果没有个性设置,QMainWindow的默认窗口标题就为MainWindow

(16)setWindowIcon

setWindowIcon(self, QIcon)
  • 设置窗口图标,参数类型是QIcon
  • 注意这里QIcon类型对象的创建可能存在问题,加载崩溃,待解决?

(17)windowIcon

  • 返回窗口图标,PyQt5.QtGui.QIcon类型
  • 如果没有手动设置,则会返回默认的窗口图标,而非None

5、事件

6、直接的窗口

QWidget可以直接创建,作为主窗口,其没有菜单栏和工具栏。

标签:返回,窗口,设置,int,self,pyqt5,QWidget,组件
From: https://www.cnblogs.com/wd404/p/17324451.html

相关文章

  • PyQt5 软件在 macOS HiDPI 模式下出现字体模糊的问题
    ​ Retina屏幕是苹果公司在2010年在 WWDC上发布的一种高密度像素的屏幕。HiDPI是一种渲染技术,它可以让Retina屏幕上的图像更加清晰。HiDPI技术会将图像渲染成两倍于原始分辨率的大小,然后再将其缩小到原始分辨率的大小,这样就可以让图像更加清晰。PyQt5编写的软件在Wi......
  • PyQT5 QFileDialog文件操作程序崩溃处理
    最近用PyQT写个窗体工具,用到QFileDialog处理文件时程序就崩掉了,网上查的降版本,换32位解释器都尝试了都不靠谱,后面无意中看到一段示例代码终于解决了,记录一下,在给掉坑里的小伙伴做个参考。原代码是用qt模板生成的,添加的构造方法:#-*-coding:utf-8-*-fromPyQt5importQtCo......
  • PySide2或PyQt5 运行时提示This application failed to start because no Qt platform
    1.把PySide2或者PyQt5安装在解释器目录下的 \plugins\platforms 目录添加到环境变量Path中。比如,我的环境就是把下面这个路径加到环境变量 Path 中 c:\Python38\Lib\site-packages\PySide2\plugins\platforms 2. 确保环境变量中没有中文......
  • multiple definition of `MainWindow::MainWindow(QWidget*)
     qt刚建好工程运行的时候没问题,后面写了一点东西之后,再运行就发现出现MainWindow重复,我不理解。  解决方法:删除重复的引用。 再重新构建一下就好了。 ......
  • PyQt5 - 2
    1.什么是控件一个程序界面上的独立元素,一块矩形区域具备不同的功能,比如:用户点击,接收用户输入,展示内容,存放其它控件等2.常用控件2.1按钮QPushButton,普通按钮QCommandLinkButton,超链接按钮QRadioButton,单选按钮QCheckBox,多选按钮2.2输入控件2.2.1纯键盘输入......
  • PyQt5 - 1
    一、安装pipinstallPyQt5-ihttps://mirrors.aliyun.com/pypi/simple/出现错误安装下面的工具库:ERROR:FailedbuildingwheelforPyQt5-sipwgethttps://aka.ms/vs/17/release/vs_BuildTools.exe一、基本程序结构(一)导入相关模块(二)创建应用程序(三)控件的操作(四)执......
  • 时钟小程序 所用类qwidget QTime Qpalette
    DigiClock::DigiClock(QWidget&nbsp;*parent) :&nbsp;QLCDNumber(parent){ //设置时钟背景 QPalette&nbsp;p&nbsp;=&nbsp;palette();<br/>//设置调色板颜色QPalette::Window设置背景色 p.setColor(QPalette::Window,&nbsp;Qt::blue);<br/>......
  • PyQt5学习 (4)--QAbstractButton(下)
    QAbstractBUtton:  所有按钮控件的基类  提供按钮的通用功能  继承自QWidget  属于抽象类别,不能直接去使用,必须借助于子类(除非你觉得子类不够用,想自定义一个按......
  • 使用PyQt5动态导入ui文件
    导库fromPyQt5.uicimport*核心代码self.ui=loadUi(r'xxxx文件路径xxxx',self)简单代码实例importsysfromPyQt5.uicimport*fromPyQt5.Q......
  • Qt5.12实战之QWidget使用
    main.cpp#include"mainwindow.h"#include<QApplication>#include<QDebug>intmain(intargc,char*argv[]){QApplicationa(argc,argv);MainWindoww......