這幾天用ableWidget
用得很多,查了很多資料,發現大多數都不是很全,有時候查資料查得很辛苦;
另一方面,以防以後自己忘了這些知識,所以在這裡就把我所接觸到的,所看到的都歸納在這裡。
首先QTableWidget
是繼承於QTableView
,QTableWidget
是QT
程式中常用的顯示資料表格的空間;
它跟QTableView
的主要區別是QTableView
可以使用自定義的資料模型來顯示內容(也就是先要透過setModel
來繫結資料來源),而QTableWidget
則只能使用標準的資料模型,並且其單元格資料是透過QTableWidgetItem
的物件來實現的(也就是不需要資料來源,將逐個單元格的資訊填好即可。
這主要是因為QTableView
內的setModel
成員函式在QTableWidget
類中成了私有成員
,所以QTableWidget
只能依賴於QTableWidgetItem
。QTableWidgetItem
用來填充表格
中的一個單元格
,整個表格
都需要逐個單元格
逐個單元格
地構建起來。
然後我們就來看看QTableWidget
中常用的方法。
首先生成一個
MyTable=QTableWidget()
設定列數:
MyTable.setColumnCount(3)
設定行數:
MyTable.setRowCount(4)
設定預設列寬:
myTable.horizontalHeader().setDefaultSectionSize(200)
設定預設行高:
myTable.verticalHeader().setDefaultSectionSize(300)
設定某一列寬:
myTable.horizontalHeader().resizeSection(0,300) #設定第一列的寬度
設定某一行高:
myTable.verticalHeader().resizeSection(0,500) #設定第一行的高度
設定橫向表頭的高度:
myTable.horizontalHeader().setFixedHeight(100),且只能用該類方法設定橫向表頭的高度,
設定縱向表頭的寬度:
myTable.verticalHeader().setFixedWidth(300) ,且只能用該類方法設定縱向表頭的寬度
設定表頭不可點選:
myTable.verticalHeader().setClickable(False)
設定表頭字型加粗:
font=myTable.horizontalHeader().font()
font.setBold(False)
myTable.horizontalHeader().setFont(font) 是指整個橫向表頭
設定表頭不塌陷:
myTable.horizontalHeader().setHighlightSections(False)
設定表頭內某個元素的顏色:
item=myTable.horizontalHeaderItem(1)
item.setTextColor(QColor("red")) ,設定橫向表頭第二個元素的顏色
設定表頭內某個元素的字型加粗:
font=QFont()
font.setBold(True)
item=myTable.horizontalHeaderItem(0)
item.setFont(font), 設定橫向表頭第一個元素的字型加粗
設定表頭內容:
list=[u'寶貝',u'日子',u'多個',u'話費']
myTable.setHorizontalHeaderLabels(list)
設定隱藏表頭:
myTable.horizontalHeader().setVisible(False)
設定表格外部無邊框:
myTable.setFrameShape(QFrame.Box)
設定不顯示格子線:
myTable.setShowGrid(False)
設定表格的編輯屬性:
QAbstractItemView.NoEditTriggers:不可編輯
QAbstractItemView.CurrentChanged:改變了即可編輯
QAbstractItemView.DoubleClicked:連續雙擊即可編輯
QAbstractItemView.SelectedClicked:在被選中的情況下單擊一次即可編輯
QAbstractItemView.EditKeyPressed:在按下平臺的編輯鍵那個專案上即可編輯
選擇時每次選擇一行:
myTable.setSelectionBehavior(QAbstractItemView.SelectRows),
也可以設定引數為SelectColumns,這樣就會選擇一列。
選擇表格模式:
myTable.setSelectionMode(QAbstractItemView.ExtendedSelection)
今天先寫到這裡,明天有時間再繼續更
然而並沒有再更新.....
————————————————
版權宣告:本文為CSDN博主「chen_you_Nick」的原創文章,遵循 CC 4.0 BY-SA
版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/f156207495/article/d...
本作品採用《CC 協議》,轉載必須註明作者和本文連結