問題は、実際には lstView1 が指すオブジェクトを単に置き換えているだけで、ウィジェットに追加していないことです。つまり、オブジェクトを作成するときに、lstView1 を使用して新しいオブジェクトを指すように Python に指示するだけですが、実際の UI は既に追加されているため、古いポインターを使用しています。
py4uci を使用して ui ファイルを python に変換し、gui を次のように設定したと仮定します。
class ExambleUI(QtGUi.QDialog, UI_Example):
def __init__(self, parent):
QtGui.QDiialog.__init__(self, parent)
self.setupUI(self)
self.lstView1 = MyListView
lstView の値を変更する前に setupUi が実行されているため、新しいウィジェットを取得していません。行を交換するだけです:
class ExambleUI(QtGUi.QDialog, UI_Example):
def __init__(self, parent):
QtGui.QDiialog.__init__(self, parent)
self.lstView1 = MyListView
self.setupUI(self)
一方、このチュートリアルに従って、デザイナーでウィジェットを作成して使用することをお勧めします。簡単で高速です。