On Thursday 25 August 2011, 10:43:20 Vincent Vande Vyvre wrote: > Le 25/08/11 07:59, uahmed a écrit : > Hi > > I want to add widget in (f1) function and want to remove the widget > from (f2) function . I tried the same thing in same function it do > work but when i try to remove the widget from another it doesnt . Any > help ? > > Code : > > > import sys,os > from functools import partial > from PyQt4 import QtGui, QtCore > import Skype4Py > import time > import socket > > > class main(): > def f1(self): > print "f1" > buttons['user'] = QtGui.QToolButton(widget) > layout.addWidget(buttons['user']) > widget.setLayout(layout) > def f2(self): > print "f2" > layout.removeWidget(buttons['user']) > widget.setLayout(layout) > > > app = QtGui.QApplication(sys.argv) > widget = QtGui.QWidget() > layout = QtGui.QVBoxLayout() > buttons = {} > sk = main() > sk.f1() > sk.f2() > widget.show() > sys.exit(app.exec_()) > > > _______________________________________________ > PyQt mailing list PyQt@riverbankcomputing.com > http://www.riverbankcomputing.com/mailman/listinfo/pyqt > Remove is NOT delete. > > Try that: > > def f2(self): > print "f2" > buttons['user'].deleteLater() > layout.removeWidget(buttons['user']) > widget.setLayout(layout)
Consider using .show() and .hide() Pete _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt