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對象類型判定內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python通過Windows下遠程控制Linux系統(tǒng)
這篇文章主要為大家詳細介紹了python通過Windows下遠程控制Linux系統(tǒng),實現(xiàn)對socket模塊認識,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06
tensorflow基于Anaconda環(huán)境搭建的方法步驟
本文主要介紹了tensorflow基于Anaconda環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02

