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

Pyqt的QTableWidget組件的使用

 更新時間:2025年05月14日 09:42:50   作者:爬無止境  
QTableWidget是PyQt6中的一個表格控件,用于顯示和編輯二維表格數(shù)據(jù),本文主要介紹了Pyqt的QTableWidget組件的使用,具有一定的參考價值,感興趣的可以了解一下

QTableWidget 是 PyQt6 中的一個表格控件,用于顯示和編輯二維表格數(shù)據(jù)。它繼承自 QTableView,提供了更簡單的方式來處理表格數(shù)據(jù),適合用于需要展示結(jié)構(gòu)化數(shù)據(jù)的場景。

1. 常用方法

1.1 構(gòu)造函數(shù)

  • QTableWidget(parent: QWidget = None):創(chuàng)建一個空的表格控件。

  • QTableWidget(rows: int, columns: int, parent: QWidget = None):創(chuàng)建一個指定行數(shù)和列數(shù)的表格控件。

1.2 設(shè)置行列數(shù)

  • setRowCount(rows: int):設(shè)置表格的行數(shù)。

  • setColumnCount(columns: int):設(shè)置表格的列數(shù)。

  • rowCount() -> int:獲取表格的行數(shù)。

  • columnCount() -> int:獲取表格的列數(shù)。

1.3 設(shè)置表頭

  • setHorizontalHeaderLabels(labels: List[str]):設(shè)置水平表頭的標(biāo)簽。

  • setVerticalHeaderLabels(labels: List[str]):設(shè)置垂直表頭的標(biāo)簽。

  • horizontalHeader() -> QHeaderView:獲取水平表頭對象。

  • verticalHeader() -> QHeaderView:獲取垂直表頭對象。

1.4 設(shè)置單元格內(nèi)容

  • setItem(row: int, column: int, item: QTableWidgetItem):設(shè)置指定單元格的內(nèi)容。

  • item(row: int, column: int) -> QTableWidgetItem:獲取指定單元格的內(nèi)容。

  • takeItem(row: int, column: int) -> QTableWidgetItem:移除指定單元格的內(nèi)容并返回。

1.5 設(shè)置單元格屬性

  • setCellWidget(row: int, column: int, widget: QWidget):在指定單元格中放置一個控件(如按鈕、下拉框等)。

  • cellWidget(row: int, column: int) -> QWidget:獲取指定單元格中的控件。

  • setSpan(row: int, column: int, rowSpan: int, columnSpan: int):合并單元格。

1.6 選擇模式

  • setSelectionMode(mode: QAbstractItemView.SelectionMode):設(shè)置選擇模式(如單選、多選等)。

  • setSelectionBehavior(behavior: QAbstractItemView.SelectionBehavior):設(shè)置選擇行為(如選擇行、選擇列等)。

1.7 信號

  • cellChanged(row: int, column: int):當(dāng)單元格內(nèi)容發(fā)生變化時觸發(fā)。

  • cellClicked(row: int, column: int):當(dāng)單元格被點擊時觸發(fā)。

  • cellDoubleClicked(row: int, column: int):當(dāng)單元格被雙擊時觸發(fā)。

2. 例子

import os
import sys
import webbrowser

import qt_material
from PyQt6.QtWidgets import *
from PyQt6.QtCore import *

class Window(QWidget):
    def __init__(self):
        super(Window, self).__init__()
        self.resize(400, 300)

        self.init_widget()
        self.init_signal()
        self.init_getdata()
        self.init_layout()

    def init_widget(self):
        # tablewidget
        self.table = QTableWidget()
        self.table.setColumnCount(2)
        self.table.setHorizontalHeaderLabels(['網(wǎng)站', 'Url'])
        self.table.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeMode.Stretch)
        self.table.setAlternatingRowColors(True)
        self.table.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)  # 無法編輯



    def init_getdata(self):
        row_count = self.table.rowCount()
        self.table.setRowCount(row_count + 1)
        self.table.setItem(0, 0, QTableWidgetItem('百度'))
        self.table.setItem(0, 1, QTableWidgetItem('https://www.baidu.com/'))

        row_count = self.table.rowCount()
        self.table.setRowCount(row_count + 1)
        self.table.setItem(1, 0, QTableWidgetItem('騰訊視頻'))
        self.table.setItem(1, 1, QTableWidgetItem('https://v.qq.com/'))

    def init_signal(self):
        self.table.cellDoubleClicked.connect(self.open_url)  # 雙擊打開網(wǎng)頁

    def init_layout(self):
        v_layout = QVBoxLayout()
        v_layout.addWidget(self.table)
        self.setLayout(v_layout)

    def open_url(self, row, column):
        print(f'{row} {column}')
        if int(column) == 1:
            url = self.table.item(row, column).text()
            webbrowser.open(url)


if __name__ == '__main__':
    os.environ["QT_IM_MODULE"] = "ibus"  # mac系統(tǒng)解決輸入法不兼容

    app = QApplication(sys.argv)
    qt_material.apply_stylesheet(app, theme='light_pink.xml')
    window = Window()
    window.show()
    sys.exit(app.exec())

3. 總結(jié)

優(yōu)點

  • 簡單易用:提供了直接操作表格數(shù)據(jù)的接口。

  • 靈活性高:支持動態(tài)加載數(shù)據(jù)、編輯單元格內(nèi)容和嵌入控件。

  • 功能豐富:支持表頭設(shè)置、單元格合并、選擇模式等功能。

適用場景

  • 數(shù)據(jù)展示(如成績表、庫存表)。

  • 數(shù)據(jù)編輯(如員工信息管理、訂單管理)。

  • 動態(tài)數(shù)據(jù)加載(如數(shù)據(jù)庫查詢結(jié)果、CSV 文件數(shù)據(jù))。

到此這篇關(guān)于Pyqt的QTableWidget組件的使用的文章就介紹到這了,更多相關(guān)Pyqt QTableWidget組件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • python tqdm庫的使用

    python tqdm庫的使用

    這篇文章主要介紹了python tqdm庫的使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • Python pip安裝第三方庫的攻略分享

    Python pip安裝第三方庫的攻略分享

    pip 就是 Python 標(biāo)準(zhǔn)庫(The Python Standard Library)中的一個包,只是這個包比較特殊,用它可以來管理 Python 標(biāo)準(zhǔn)庫(The Python Standard Library)中其他的包。本文為大家介紹了pip安裝第三方庫的方法,需要的可以參考一下
    2022-11-11
  • python?實現(xiàn)?mp3Play?音頻播放

    python?實現(xiàn)?mp3Play?音頻播放

    這篇文章主要介紹了python?實現(xiàn)?mp3Play?音頻播放,文章基于python的相關(guān)資料展開詳細(xì)內(nèi)容,具有一定的參考價值需要的小伙伴可以參考一下
    2022-04-04
  • python中os.path.join()函數(shù)實例用法

    python中os.path.join()函數(shù)實例用法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中os.path.join()函數(shù)實例用法,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2021-05-05
  • 如何從Python的cmd中獲得.py文件參數(shù)

    如何從Python的cmd中獲得.py文件參數(shù)

    這篇文章主要介紹了如何從Python的cmd中獲得.py文件參數(shù)操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 從0開始的Python學(xué)習(xí)014面向?qū)ο缶幊蹋ㄍ扑])

    從0開始的Python學(xué)習(xí)014面向?qū)ο缶幊蹋ㄍ扑])

    這篇文章主要介紹了Python面向?qū)ο缶幊?,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • python中np.zeros_like函數(shù)用法詳解

    python中np.zeros_like函數(shù)用法詳解

    這篇文章主要介紹了python中np.zeros_like函數(shù)用法的相關(guān)資料,np.zeros_like是?NumPy?庫中的一個函數(shù),用于創(chuàng)建一個與給定數(shù)組形狀和類型相同的新數(shù)組,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • python如何實現(xiàn)不用裝飾器實現(xiàn)登陸器小程序

    python如何實現(xiàn)不用裝飾器實現(xiàn)登陸器小程序

    這篇文章主要介紹了python如何實現(xiàn)不用裝飾器實現(xiàn)登陸器小程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • python用tkinter開發(fā)的掃雷游戲

    python用tkinter開發(fā)的掃雷游戲

    非常簡單的實現(xiàn),所以并沒有那么多繁瑣得步驟,對于這種簡單得h5游戲來說,用python可以很容易就設(shè)計出來。下面就來看看實現(xiàn)步驟
    2021-06-06
  • Python中列表list以及l(fā)ist與數(shù)組array的相互轉(zhuǎn)換實現(xiàn)方法

    Python中列表list以及l(fā)ist與數(shù)組array的相互轉(zhuǎn)換實現(xiàn)方法

    這篇文章主要介紹了Python中l(wèi)ist以及l(fā)ist與array的相互轉(zhuǎn)換實現(xiàn)方法,簡單分析了Python中l(wèi)ist的功能、使用方法及l(fā)ist與array相互轉(zhuǎn)換實現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09

最新評論

保靖县| 新宾| 红原县| 朝阳区| 沅江市| 周宁县| 高清| 尼木县| 佛坪县| 白玉县| 莲花县| 西和县| 清水县| 桂东县| 清涧县| 集安市| 始兴县| 固原市| 武陟县| 通州区| 通化县| 延津县| 阆中市| 寻甸| 昌图县| 台州市| 永安市| 英德市| 宜兰县| 寿阳县| 内丘县| 理塘县| 龙州县| 柳林县| 新民市| 尚志市| 呼玛县| 巩义市| 若尔盖县| 报价| 嵊州市|