PyQt5类型判定+对象删除操作
更新时间:2024年07月24日 09:51:33 作者:红叶楠木
这篇文章主要介绍了PyQt5类型判定+对象删除操作,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
1、类型判定
(1)总体结构
(2)API操作
from PyQt5.Qt import * class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QObject的学习") self.resize(500, 500) self.setup_ui() def setup_ui(self): #self.QObject_ceshi() self.QObject_类型判定() def QObject_类型判定(self): # # *********** 测试API**************开始 obj=QObject() w=QWidget() btn=QPushButton() label=QLabel() objs=[obj,w,btn,label] for o in objs: # print(o.isWidgetType()) # print(o.inherits('QWidget')) print(o.inherits('QPushBotton')) # *********** 测试API**************结束 if __name__ == '__main__': import sys app=QApplication(sys.argv) window=Window() window.show() sys.exit(app.exec_())
(3)案例
from PyQt5.Qt import * class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QObject的学习") self.resize(500, 500) self.setup_ui() def setup_ui(self): #self.QObject_ceshi() self.QObject_类型判定() def QObject_类型判定(self): # # *********** 测试API**************开始 # obj=QObject() # w=QWidget() # btn=QPushButton() # label=QLabel() # # objs=[obj,w,btn,label] # for o in objs: # # print(o.isWidgetType()) # # print(o.inherits('QWidget')) # print(o.inherits('QPushBotton')) # *********** 测试API**************结束 # **************案例*****************开始 label = QLabel(self) label.setText("社会社会社会") label.move(100, 100) label2 = QLabel(self) label2.setText("哈哈哈哈") label2.move(150, 150) btn = QPushButton(self) btn.setText("点我") btn.move(200, 200) for widget in self.children(): # print(widget) if widget.inherits("QLabel"): # print("是") widget.setStyleSheet('background-color:green') # **************案例*****************结束 if __name__ == '__main__': import sys app=QApplication(sys.argv) window=Window() window.show() sys.exit(app.exec_())
2、对象删除
(1)总体框架
(2)API操作
from PyQt5.Qt import * class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QObject的学习") self.resize(500, 500) self.setup_ui() def setup_ui(self): #self.QObject_ceshi() self.QObject_对象删除() def QObject_对象删除(self): # *********** 测试API**************开始 obj1 = QObject() self.obj1=obj1 obj2 = QObject() obj3 = QObject() obj3.setParent(obj2) obj2.setParent(obj1) obj1.destroyed.connect(lambda:print("obj1被释放了")) obj2.destroyed.connect(lambda: print("obj2被释放了")) obj3.destroyed.connect(lambda: print("obj3被释放了")) # del obj2 obj2.deleteLater() # 稍后删除 print(obj1.children()) # 先完成再删除 # *********** 测试API**************结束 if __name__ == '__main__': import sys app=QApplication(sys.argv) window=Window() window.show() sys.exit(app.exec_())
到此这篇关于PyQt5类型判定+对象删除的文章就介绍到这了,更多相关PyQt5对象类型判定内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
在Python的Django框架中simple-todo工具的简单使用
这篇文章主要介绍了在Python的Django框架中simple-todo工具的简单使用,该工具基于原web.py中的开源项目,需要的朋友可以参考下2015-05-05pycharm 无法加载文件activate.ps1的原因分析及解决方法
这篇文章主要介绍了pycharm报错提示:无法加载文件\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本,解决方法终端输入get-executionpolicy,回车返回Restricted即可,需要的朋友可以参考下2022-11-11python 读取文本文件的行数据,文件.splitlines()的方法
今天小编就为大家分享一篇python 读取文本文件的行数据,文件.splitlines()的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-07-07
最新评论