我是pyqt的新手。在
我試圖在乙個類中放入乙個qtableview,這樣我就可以定義它在類中的行為,而不必將它與所有其他**混合,但是當我這樣做時,它就不會顯示出來了。在
這是我學習的準則。它是從[edit table in pyqt using qabstracttablemodel]借來的。稍微重新適應它以與qt5一起使用,並在類中移動了qtableviewimport sys
from pyqt5 import qtgui, qtcore
from pyqt5.qtgui import *
from pyqt5.qtcore import *
# données à représenter
my_array = [['00','01','02'],
['10','11','12'],
['20','21','22']]
def main():
w = mywindow()
w.show()
# création de la vue et du conteneur
class mywindow(qwidget):
def __init__(self, *args):
qwidget.__init__(self, *args)
tablemodel = mytablemodel(my_array, self)
table = table(tablemodel)
layout = qvboxlayout(self)
layout.addwidget(table)
self.setlayout(layout)
# création du modèle
class table(qwidget):
def __init__(self, model):
super().__init__()
self.model = model
self.initui()
def initui(self):
self.setminimumsize(300,300)
self.view = qtableview()
self.view.setmodel(self.model)
class mytablemodel(qabstracttablemodel):
def __init__(self, datain, parent = none, *args):
qabstracttablemodel.__init__(self, parent, *args)
self.arraydata = datain
def rowcount(self, parent):
return len(self.arraydata)
def columncount(self, parent):
return len(self.arraydata[0])
def data(self, index, role):
if not index.isvalid():
return none
elif role != qt.displayrole:
return none
return (self.arraydata[index.row()][index.column()])
def setdata(self, index, value):
self.arraydata[index.row()][index.column()] = value
return true
def flags(self, index):
return qt.itemiseditable
if __name__ == "__main__":
main()
如果我刪除類並使用
^$**顯示沒有問題。在
我錯過了什麼?在
pyqt介面控制項
建立主介面的兩種方法 1.通過繼承qtgui.qmainwindow建立類 qtgui.qmainwindow.init self 呼叫父類初始化方法 2.通過繼承qtgui.qwidget建立類 qtgui.qwidget.init self 呼叫父類初始化方法 qpushbutton 按鈕 se...
pyqt 實現控制項移除 pyqt刪除控制項的坑
最近在使用pyqt寫個專案,在remove控制項後,使用findchild仍然能找到控制項,除錯很久,才發現是pyqt的深坑.很無奈 這裡是關閉qtabwidget的標籤 def close tab self,index 1 if index 1 index self.tab widget.curr...
python 為什麼沒有自增自減符
b 5 a 5 id a 162334512 id b 162334512 a is b true 可以看出,python 中,變數是以內容為基準而不是像 c 中以變數名為基準,所以只要你的數字內容是5,不管你起什麼名字,這個變數的 id 是相同的,同時也就說明了 python 中乙個變數可以以多個...