python pyqt5 QTableView

數(shù)據(jù)模型的幾種選擇:

image.png
image.png

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

class Table(QWidget):
def init(self,parent=None):
super(Table, self).init(parent)
#設(shè)置標(biāo)題與初始大小
self.setWindowTitle('QTableView表格視圖的例子')
self.resize(500,300)

    #設(shè)置數(shù)據(jù)層次結(jié)構(gòu),4行4列
    self.model=QStandardItemModel(4,4)
    #設(shè)置水平方向四個(gè)頭標(biāo)簽文本內(nèi)容
    self.model.setHorizontalHeaderLabels(['標(biāo)題1','標(biāo)題2','標(biāo)題3','標(biāo)題4'])


    # #Todo 優(yōu)化2 添加數(shù)據(jù)
    # self.model.appendRow([
    #     QStandardItem('row %s,column %s' % (11,11)),
    #     QStandardItem('row %s,column %s' % (11,11)),
    #     QStandardItem('row %s,column %s' % (11,11)),
    #     QStandardItem('row %s,column %s' % (11,11)),
    # ])

    for row in range(4):
        for column in range(4):
            item=QStandardItem('row %s,column %s'%(row,column))
            #設(shè)置每個(gè)位置的文本值
            self.model.setItem(row,column,item)

    #實(shí)例化表格視圖,設(shè)置模型為自定義的模型
    self.tableView=QTableView()
    self.tableView.setModel(self.model)



    # #todo 優(yōu)化1 表格填滿窗口
    # #水平方向標(biāo)簽拓展剩下的窗口部分,填滿表格
    # self.tableView.horizontalHeader().setStretchLastSection(True)
    # #水平方向,表格大小拓展到適當(dāng)?shù)某叽?    # self.tableView.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
    #
    # #TODO 優(yōu)化3 刪除當(dāng)前選中的數(shù)據(jù)
    # indexs=self.tableView.selectionModel().selection().indexes()
    # print(indexs)
    # if len(indexs)>0:
    #     index=indexs[0]
    #     self.model.removeRows(index.row(),1)


    #設(shè)置布局
    layout=QVBoxLayout()
    layout.addWidget(self.tableView)
    self.setLayout(layout)

if name == 'main':
app=QApplication(sys.argv)
table=Table()
table.show()
sys.exit(app.exec_())

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • -- coding: utf-8 -- from PyQt5 import QtCore, QtGui, QtWi...
    SkTj閱讀 1,005評(píng)論 0 0
  • 下面的代碼為:創(chuàng)建一個(gè)帶有按鈕和兩個(gè)單行編輯框的窗口。 對(duì)于單行編輯框,我們處理獲得和失去輸入焦點(diǎn)的事件。通過按下...
    用電熱毯烤豬閱讀 9,058評(píng)論 0 48
  • 方法 畫文字 -- coding: utf-8 -- """【簡介】在窗體中繪畫出文字的例子 """ import...
    SkTj閱讀 6,256評(píng)論 3 0
  • 春未一場(chǎng)大雨傾盆而下,正籌備一場(chǎng)一日游的旅行,已宣布落幕,期望已久的浪漫心情,猶如風(fēng)雨雷聲交雜,五味雜陳,煩燥不安...
    簡賞閱讀 409評(píng)論 2 10

友情鏈接更多精彩內(nèi)容