最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5表格控件QTableView詳細(xì)使用方法與實(shí)例

 更新時(shí)間:2020年03月01日 13:41:17   作者:jia666666  
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5表格控件QTableView詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下

PyQt5表格控件QTableView簡(jiǎn)介

在通常情況下,一個(gè)應(yīng)用需要和一批數(shù)據(jù)進(jìn)行交互,然后以表格的形式輸出這些信息,這時(shí)就需要用到QTableView類(lèi)了,在QTableView中可以使用自定義的數(shù)據(jù)模型來(lái)顯示內(nèi)容,通過(guò)setModel來(lái)綁定數(shù)據(jù)源

QTableWidget繼承自QTableView,主要區(qū)別是QTableView可以使用自定義的數(shù)據(jù)模型來(lái)顯示內(nèi)容(先通setModel來(lái)綁定數(shù)據(jù)源),而QTableWidget自能使用標(biāo)準(zhǔn)的數(shù)據(jù)模型,并且其單元格數(shù)據(jù)是通過(guò)QTableWidgetItem對(duì)象實(shí)現(xiàn)的,通常QTableWidget就能夠滿(mǎn)足我們的要求

QTableView可用的模式

QTableView控件可以綁定一個(gè)模型數(shù)據(jù)用來(lái)更新控件上的內(nèi)容

名稱(chēng) 含義
QStringListModel 儲(chǔ)存一組字符串
QstandardItemModel 存儲(chǔ)任意層次結(jié)構(gòu)的數(shù)據(jù)
QDirModel 對(duì)文件系統(tǒng)進(jìn)行封裝
QSqlQueryModel 對(duì)SQL的查詢(xún)結(jié)果集進(jìn)行封裝
QSqlTableModel 對(duì)SQL中的表格進(jìn)行封裝
QSqlRelationalTableModel 對(duì)帶有foreign key的SQL表格進(jìn)行封裝
QSortFilterProxyModel 對(duì)模型中的數(shù)據(jù)進(jìn)行排序或過(guò)濾

QTableView的使用實(shí)例

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 表格填滿(mǎn)窗口
    # #水平方向標(biāo)簽拓展剩下的窗口部分,填滿(mǎn)表格
    # 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_())

運(yùn)行程序,顯示效果如圖

從圖中可以看出,表格并沒(méi)有填滿(mǎn)窗口,每列都可以自由拉伸,但是可能會(huì)出現(xiàn)滾動(dòng)條

優(yōu)化1:需要表格填充滿(mǎn)窗口,可以添加一下代碼

#水平方向標(biāo)簽拓展剩下的窗口部分,填滿(mǎn)表格
self.tableView.horizontalHeader().setStretchLastSection(True)
#水平方向,表格大小拓展到適當(dāng)?shù)某叽?  
self.tableView.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

效果如下

優(yōu)化2:添加數(shù)據(jù)

#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)),
    ])

效果如圖

優(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)

本文主要介紹了PyQt5表格控件QTableView詳細(xì)使用方法與實(shí)例,更多關(guān)于這方面的知識(shí)請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

  • Python實(shí)戰(zhàn)之看圖猜字游戲的實(shí)現(xiàn)

    Python實(shí)戰(zhàn)之看圖猜字游戲的實(shí)現(xiàn)

    看圖猜成語(yǔ),是考驗(yàn)一個(gè)人的反應(yīng)能力,也考驗(yàn)一個(gè)人的右腦思維。據(jù)說(shuō)越聰明的人,這道題的完成率越高。本文就來(lái)用Python實(shí)現(xiàn)這一經(jīng)典小游戲,需要的可以參考一下
    2023-02-02
  • python四個(gè)坐標(biāo)點(diǎn)對(duì)圖片區(qū)域最小外接矩形進(jìn)行裁剪

    python四個(gè)坐標(biāo)點(diǎn)對(duì)圖片區(qū)域最小外接矩形進(jìn)行裁剪

    在圖像裁剪操作中,opencv和pillow兩個(gè)庫(kù)都具有相應(yīng)的函數(shù),如果想要對(duì)目標(biāo)的最小外接矩形進(jìn)行裁剪該如何操作呢?本文就來(lái)詳細(xì)的介紹一下
    2021-06-06
  • 如何用Python數(shù)據(jù)可視化來(lái)分析用戶(hù)留存率

    如何用Python數(shù)據(jù)可視化來(lái)分析用戶(hù)留存率

    今天和大家來(lái)分享一些數(shù)據(jù)可視化方向的干貨,我們來(lái)嘗試用Python來(lái)繪制一下“漏斗圖”,感興趣的小伙伴和小編一起進(jìn)入課題吧,但愿大家會(huì)有所收獲
    2021-09-09
  • Python生成不重復(fù)隨機(jī)值的方法

    Python生成不重復(fù)隨機(jī)值的方法

    這篇文章主要介紹了Python生成不重復(fù)隨機(jī)值的方法,實(shí)例分析了Python算法實(shí)現(xiàn)與Python自帶方法的實(shí)現(xiàn)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-05-05
  • django 通過(guò)url實(shí)現(xiàn)簡(jiǎn)單的權(quán)限控制的例子

    django 通過(guò)url實(shí)現(xiàn)簡(jiǎn)單的權(quán)限控制的例子

    今天小編就為大家分享一篇django 通過(guò)url實(shí)現(xiàn)簡(jiǎn)單的權(quán)限控制的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python的動(dòng)態(tài)重新封裝的教程

    Python的動(dòng)態(tài)重新封裝的教程

    這篇文章主要介紹了Python的動(dòng)態(tài)重新封裝的教程,本文來(lái)自于IBM的官方開(kāi)發(fā)者文檔,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)病毒仿真器的方法示例(附demo)

    Python實(shí)現(xiàn)病毒仿真器的方法示例(附demo)

    這篇文章主要介紹了Python實(shí)現(xiàn)病毒仿真器的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 爬蟲(chóng)代理池Python3WebSpider源代碼測(cè)試過(guò)程解析

    爬蟲(chóng)代理池Python3WebSpider源代碼測(cè)試過(guò)程解析

    這篇文章主要介紹了爬蟲(chóng)代理池Python3WebSpider源代碼測(cè)試過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python使用js2py庫(kù)運(yùn)行js代碼

    python使用js2py庫(kù)運(yùn)行js代碼

    本文主要介紹了thon使用js2py庫(kù)運(yùn)行js代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • QML使用Python的函數(shù)過(guò)程解析

    QML使用Python的函數(shù)過(guò)程解析

    這篇文章主要介紹了QML使用Python的函數(shù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論

会同县| 虎林市| 婺源县| 敖汉旗| 德格县| 渭源县| 乌恰县| 宜兰市| 宿州市| 贞丰县| 互助| 青阳县| 弋阳县| 赣榆县| 富顺县| 会宁县| 凤阳县| 安塞县| 民县| 萍乡市| 布拖县| 宁河县| 库尔勒市| 会泽县| 汝南县| 阳城县| 耒阳市| 潜江市| 华坪县| 慈溪市| 秭归县| 永昌县| 儋州市| 宜城市| 天全县| 晋中市| 镇远县| 太康县| 六枝特区| 皮山县| 鹤庆县|