python的delete方法_Python sip.delete方法代碼示例

本文详细介绍了Python中sip.delete方法的多种应用场景,包括删除对象、释放资源等。通过多个代码示例,展示了如何在PyQt框架下正确使用sip.delete来清理内存。这些示例涵盖了不同场景,如窗口关闭、插件卸载和界面更新等,对于理解该方法的使用非常有帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文整理匯總了Python中sip.delete方法的典型用法代碼示例。如果您正苦於以下問題:Python sip.delete方法的具體用法?Python sip.delete怎麽用?Python sip.delete使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在模塊sip的用法示例。

在下文中一共展示了sip.delete方法的16個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Python代碼示例。

示例1: toggleFullscreen

​點讚 6

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def toggleFullscreen(self) -> None:

if self.mediaAvailable:

pause = self.mpvWidget.property('pause')

mute = self.mpvWidget.property('mute')

vol = self.mpvWidget.property('volume')

pos = self.seekSlider.value() / 1000

if self.mpvWidget.originalParent is not None:

self.mpvWidget.shutdown()

sip.delete(self.mpvWidget)

del self.mpvWidget

self.mpvWidget = self.getMPV(parent=self, file=self.currentMedia, start=pos, pause=pause, mute=mute,

volume=vol)

self.videoplayerLayout.insertWidget(0, self.mpvWidget)

self.mpvWidget.originalParent = None

self.parent.show()

elif self.mpvWidget.parentWidget() != 0:

self.parent.hide()

self.mpvWidget.shutdown()

self.videoplayerLayout.removeWidget(self.mpvWidget)

sip.delete(self.mpvWidget)

del self.mpvWidget

self.mpvWidget = self.getMPV(file=self.currentMedia, start=pos, pause=pause, mute=mute, volume=vol)

self.mpvWidget.originalParent = self

self.mpvWidget.setGeometry(qApp.desktop().screenGeometry(self))

self.mpvWidget.showFullScreen()

開發者ID:ozmartian,項目名稱:vidcutter,代碼行數:27,

示例2: _showSomething

​點讚 6

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def _showSomething(self, **kwgs):

MW = self.parent()

if MW.objectName() == "MainWindow":

try:

# MW.Buttom_Vbox.setParent(None)#這是個嚴重的問題,如果用這個函數會造成78L無法成功

_parent = MW.Buttom_Vbox.parent() # 獲取下麵窗體對象的指針

for obj in _parent.children():

#print(obj)

sip.delete(obj)

MW.Buttom_Vbox = QVBoxLayout(_parent)

MW.Buttom_Vbox.setContentsMargins(0, 0, 0, 0)

MW.Buttom_Vbox.setSpacing(0)

MW.Buttom_Vbox.setObjectName("Buttom_Vbox")

except:

showERROR()

開發者ID:dongzhang0725,項目名稱:PhyloSuite,代碼行數:21,

示例3: unload

​點讚 6

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def unload(self, mod: "str"):

"""

3. 卸載插件 , 移除模塊.

"""

if mod in sys.modules:

self.pluginsInfo["StartModule"][mod]["active"] = False

#刪除對象

objInfo = self.findOldObj(mod)

oldObj = objInfo["oldObj"]

oldObj.flag="unload"

sip.delete(oldObj)

self.pluginsInfo["StartModule"][mod]["old"] = None

sys.modules.pop(mod)

return True

# 卸載所有插件

開發者ID:PyQt5,項目名稱:PyQt,代碼行數:20,

示例4: tearDown

​點讚 6

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def tearDown(self):

if hasattr(self, "dialog"):

self.dialog.close()

try:

sip.delete(self.dialog)

except TypeError:

pass

self.dialog = None

if hasattr(self, "form"):

self.form.close_all_files()

self.form.close()

try:

sip.delete(self.form)

except TypeError:

pass

self.form = None

gc.collect()

開發者ID:jopohl,項目名稱:urh,代碼行數:23,

示例5: test_deleted_object

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def test_deleted_object(qtbot):

class Obj(QObject):

def func(self):

self.setObjectName("test")

obj = Obj()

throttled = throttle.Throttle(obj.func, DELAY, parent=obj)

throttled()

throttled()

sip.delete(obj)

qtbot.wait(int(1.5 * DELAY))

開發者ID:qutebrowser,項目名稱:qutebrowser,代碼行數:17,

示例6: _pyside

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def _pyside():

"""Initialise PySide"""

import PySide as module

extras = ["QtUiTools"]

try:

try:

# Before merge of PySide and shiboken

import shiboken

except ImportError:

# After merge of PySide and shiboken, May 2017

from PySide import shiboken

extras.append("shiboken")

except ImportError:

pass

_setup(module, extras)

Qt.__binding_version__ = module.__version__

if hasattr(Qt, "_shiboken"):

Qt.QtCompat.wrapInstance = _wrapinstance

Qt.QtCompat.getCppPointer = _getcpppointer

Qt.QtCompat.delete = shiboken.delete

if hasattr(Qt, "_QtUiTools"):

Qt.QtCompat.loadUi = _loadUi

if hasattr(Qt, "_QtGui"):

setattr(Qt, "QtWidgets", _new_module("QtWidgets"))

setattr(Qt, "_QtWidgets", Qt._QtGui)

if hasattr(Qt._QtGui, "QX11Info"):

setattr(Qt, "QtX11Extras", _new_module("QtX11Extras"))

Qt.QtX11Extras.QX11Info = Qt._QtGui.QX11Info

Qt.QtCompat.setSectionResizeMode = Qt._QtGui.QHeaderView.setResizeMode

if hasattr(Qt, "_QtCore"):

Qt.__qt_version__ = Qt._QtCore.qVersion()

_reassign_misplaced_members("PySide")

_build_compatibility_members("PySide")

開發者ID:getavalon,項目名稱:core,代碼行數:43,代碼來源:Qt.py

示例7: _pyqt5

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def _pyqt5():

"""Initialise PyQt5"""

import PyQt5 as module

extras = ["uic"]

try:

import sip

extras.append(sip.__name__)

except ImportError:

sip = None

_setup(module, extras)

if hasattr(Qt, "_sip"):

Qt.QtCompat.wrapInstance = _wrapinstance

Qt.QtCompat.getCppPointer = _getcpppointer

Qt.QtCompat.delete = sip.delete

if hasattr(Qt, "_uic"):

Qt.QtCompat.loadUi = _loadUi

if hasattr(Qt, "_QtCore"):

Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR

Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR

if hasattr(Qt, "_QtWidgets"):

Qt.QtCompat.setSectionResizeMode = \

Qt._QtWidgets.QHeaderView.setSectionResizeMode

_reassign_misplaced_members("PyQt5")

_build_compatibility_members('PyQt5')

開發者ID:getavalon,項目名稱:core,代碼行數:32,代碼來源:Qt.py

示例8: _pyqt5

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def _pyqt5():

"""Initialise PyQt5"""

import PyQt5 as module

extras = ["uic"]

try:

import sip

extras += ["sip"]

except ImportError:

# Relevant to PyQt5 5.11 and above

try:

from PyQt5 import sip

extras += ["sip"]

except ImportError:

sip = None

_setup(module, extras)

if hasattr(Qt, "_sip"):

Qt.QtCompat.wrapInstance = _wrapinstance

Qt.QtCompat.getCppPointer = _getcpppointer

Qt.QtCompat.delete = sip.delete

if hasattr(Qt, "_uic"):

Qt.QtCompat.loadUi = _loadUi

if hasattr(Qt, "_QtCore"):

Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR

Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR

Qt.QtCompat.dataChanged = (

lambda self, topleft, bottomright, roles=None:

self.dataChanged.emit(topleft, bottomright, roles or [])

)

if hasattr(Qt, "_QtWidgets"):

Qt.QtCompat.setSectionResizeMode = \

Qt._QtWidgets.QHeaderView.setSectionResizeMode

_reassign_misplaced_members("PyQt5")

_build_compatibility_members('PyQt5')

開發者ID:nilouco,項目名稱:dpAutoRigSystem,代碼行數:43,代碼來源:Qt.py

示例9: __cleanupCanvas

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def __cleanupCanvas(self):

"""Cleans up the canvas"""

if self.__canvas is not None:

self.__canvas.cleanup()

self.__canvas = None

for item in self.scene().items():

sip.delete(item)

self.scene().clear()

開發者ID:SergeySatskiy,項目名稱:codimension,代碼行數:10,

示例10: eraseItem

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def eraseItem(self):

for x in self.ui.treeWidget_2.selectedItems():#delete with write click menu

#item = self.ui.treewidget.takeItem(self.ui.treewidget.currentRow())

sip.delete(x)

#item.delete

開發者ID:Seedarchangel,項目名稱:TuChart,代碼行數:7,

示例11: convert_app_for_timing

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def convert_app_for_timing(app: QApplication) -> QApplication:

"""If necessary replace existing app with our special perfmon one.

Parameters

----------

app : QApplication

The existing application if any.

"""

if isinstance(app, QApplicationWithTiming):

# We're already using QApplicationWithTiming so there is nothing

# to do. This happens when napari is launched from the command

# line because we create a QApplicationWithTiming in gui_qt.

return app

if app is not None:

# Because we can't monkey patch QApplication.notify, since it's a

# SIP wrapped C++ method, we delete the current app and create a new one.

# This must be done very early before any Qt objects are created.

import sip

sip.delete(app)

# Is it right to pass in sys.argv here? I think so if there are any

# Qt flags on there?

return QApplicationWithTiming(sys.argv)

開發者ID:napari,項目名稱:napari,代碼行數:28,

示例12: __init__

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def __init__(self, *args):

super(SearchQLineEdit, self).__init__(*args)

self.buttonSearch = QToolButton(self)

self.buttonSearch.setAutoRaise(True)

self.buttonSearch.setToolTip("Search")

self.buttonSearch.setCursor(Qt.PointingHandCursor)

self.buttonSearch.setFocusPolicy(Qt.NoFocus)

self.buttonSearch.setIcon(QIcon(":/picture/resourses/search.png"))

self.buttonSearch.setStyleSheet("QToolButton {border: none;}")

self.buttonStop = QToolButton(self)

self.buttonStop.setAutoRaise(True)

self.buttonStop.setToolTip("Stop")

self.buttonStop.setCursor(Qt.PointingHandCursor)

self.buttonStop.setFocusPolicy(Qt.NoFocus)

self.buttonStop.setIcon(QIcon(":/picture/resourses/delete.png"))

self.buttonStop.setStyleSheet("QToolButton {border: none;}")

self.buttonStop.setDisabled(True)

# self.buttonSearch.clicked.connect(self.viewFileContent)

layout = QHBoxLayout(self)

layout.addStretch()

layout.addWidget(self.buttonSearch, 0, Qt.AlignRight)

layout.addWidget(self.buttonStop, 0, Qt.AlignRight)

layout.setSpacing(6)

layout.setContentsMargins(5, 0, 5, 0)

frameWidth = self.style().pixelMetric(QStyle.PM_DefaultFrameWidth)

rightButtonWidth1 = self.buttonSearch.sizeHint().width()

rightButtonWidth2 = self.buttonStop.sizeHint().width()

self.setTextMargins(5, 0, rightButtonWidth1 + rightButtonWidth2 + frameWidth + 7, 0) ##這裏設置一下距離

開發者ID:dongzhang0725,項目名稱:PhyloSuite,代碼行數:30,

示例13: reload

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def reload(self, mod):

"""

2.2 重載插件.

"""

if mod in sys.modules:

#TODO: 舊對象替換

print("reload")

importlib.reload(sys.modules[mod])

moduleObj = sys.modules[mod]

try:

objInfo = self.findOldObj(mod, moduleObj , True)

except:

errmsg = traceback.format_exc()

QMessageBox.information(self.__mw,

"模塊導入異常",

"%s,請在%s.py檢查模塊."%(errmsg,mod ))

oldObj, newObj, layout = objInfo["oldObj"],\

objInfo["newObj"],\

objInfo["layout"]

# 新對象替換舊對象 , 並把地址賦值給舊對象

layout.replaceWidget(oldObj, newObj )

self.pluginsInfo["StartModule"][mod]["old"] = newObj

oldObj.flag="reload"

sip.delete(oldObj)

else:

self.load(mod)

開發者ID:PyQt5,項目名稱:PyQt,代碼行數:31,

示例14: onPrepareQA

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def onPrepareQA(self, html, card, context):

if self.settings['prioEnabled']:

answerShortcuts = ['1', '2', '3', '4']

else:

answerShortcuts = ['4']

activeAnswerShortcuts = [

next(

(s for s in mw.stateShortcuts if s.key().toString() == i), None

)

for i in answerShortcuts

]

if isIrCard(card):

if context == 'reviewQuestion':

self.qshortcuts = mw.applyShortcuts(self.shortcuts)

mw.stateShortcuts += self.qshortcuts

for shortcut in activeAnswerShortcuts:

if shortcut:

mw.stateShortcuts.remove(shortcut)

sip.delete(shortcut)

else:

for shortcut in answerShortcuts:

if not activeAnswerShortcuts[answerShortcuts.index(shortcut)]:

mw.stateShortcuts += mw.applyShortcuts(

[

(

shortcut,

lambda: mw.reviewer._answerCard(int(shortcut)),

)

]

)

return html

開發者ID:luoliyan,項目名稱:incremental-reading,代碼行數:36,

示例15: onShowAnswer

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def onShowAnswer(self):

for qs in self.qshortcuts:

mw.stateShortcuts.remove(qs)

sip.delete(qs)

開發者ID:luoliyan,項目名稱:incremental-reading,代碼行數:6,

示例16: _pyqt5

​點讚 5

# 需要導入模塊: import sip [as 別名]

# 或者: from sip import delete [as 別名]

def _pyqt5():

"""Initialise PyQt5"""

import PyQt5 as module

extras = ["uic"]

try:

# Relevant to PyQt5 5.11 and above

from PyQt5 import sip

extras += ["sip"]

except ImportError:

try:

import sip

extras += ["sip"]

except ImportError:

sip = None

_setup(module, extras)

if hasattr(Qt, "_sip"):

Qt.QtCompat.wrapInstance = _wrapinstance

Qt.QtCompat.getCppPointer = _getcpppointer

Qt.QtCompat.delete = sip.delete

if hasattr(Qt, "_uic"):

Qt.QtCompat.loadUi = _loadUi

if hasattr(Qt, "_QtCore"):

Qt.__binding_version__ = Qt._QtCore.PYQT_VERSION_STR

Qt.__qt_version__ = Qt._QtCore.QT_VERSION_STR

Qt.QtCompat.dataChanged = (

lambda self, topleft, bottomright, roles=None:

self.dataChanged.emit(topleft, bottomright, roles or [])

)

if hasattr(Qt, "_QtWidgets"):

Qt.QtCompat.setSectionResizeMode = \

Qt._QtWidgets.QHeaderView.setSectionResizeMode

_reassign_misplaced_members("PyQt5")

_build_compatibility_members('PyQt5')

開發者ID:mottosso,項目名稱:Qt.py,代碼行數:43,代碼來源:Qt.py

注:本文中的sip.delete方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值