国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

QTreeWidget實現(xiàn)復選框的全選/部分選擇/半選擇狀態(tài)

這篇具有很好參考價值的文章主要介紹了QTreeWidget實現(xiàn)復選框的全選/部分選擇/半選擇狀態(tài)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?QTreeWidget實現(xiàn)復選框的全選/部分選擇/半選擇狀態(tài)

?


import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QTreeWidget, QTreeWidgetItem, QLabel, QHBoxLayout


class Demo(QWidget):
     def __init__(self):
        super(Demo, self).__init__()
        self.resize(500, 300)
        self.label = QLabel('No Click')
        self.tree = QTreeWidget(self)  # 實例化樹形控件
        self.tree.setColumnCount(1)  #將該樹狀控件的列數(shù)設為2(默認為1列)
        self.tree.setHeaderLabels(['樹形控件', '列'])
        #設置每列的標題,如果只有一列的話,則應該通過setHeaderLabel(str)方法設置

        self.tree.itemClicked.connect(self.change_func)#單擊控件時發(fā)出信號
        #這個信號會自動傳遞兩個參數(shù)
        #參數(shù)1就是被單擊的項目對象。<PyQt5.QtWidgets.QTreeWidgetItem object at 0x0000008269BE7EE8>
        #參數(shù)2就是單擊的列序號

        self.preview = QTreeWidgetItem(self.tree)  # 實例化一個項目。參數(shù):指定父類
        self.preview.setText(0, '頂層項目')  #給項目設置文本。參數(shù)1:列序號
        self.preview.setText(1, '頂層項目-1列')

        self.preview1 = QTreeWidgetItem()
        self.preview1.setText(0, '頂層項目1')
        self.preview1.setText(1, '頂層項目1-1列')
        self.tree.addTopLevelItem(self.preview1)  #把self.preview1項目設置為頂層項目

        self.qt5112 = QTreeWidgetItem()
        self.qt5112.setText(0, 'Qt 5112 snapshot')
        self.qt5112.setCheckState(0, Qt.Unchecked)  #設置復選框的位置和狀態(tài)
        #參數(shù)1 復選框的位置 列序號
        #Qt.Unchecked   沒選中
        #Qt.Checked    選中
        #Qt.PartiallyChecked   部分選中

        self.preview.addChild(self.qt5112)#給self.preview添加子項目self.qt5112
        #給self.qt5112添加父類

        choice_list = ['macOS', 'Android x86', 'Android ARMv7', 'Sources', 'iOS']
        self.item_list = []
        for i, c in enumerate(choice_list):
            item = QTreeWidgetItem(self.qt5112)
            item.setText(0, c)
            item.setCheckState(0, Qt.Unchecked)
            self.item_list.append(item)

        self.test_item = QTreeWidgetItem(self.qt5112)
        self.test_item.setText(0, 'test1')
        self.test_item.setText(1, 'test2')

        self.tree.expandAll()
        #讓所有的項都是以打開狀態(tài)顯示的。注意必須要在所有項都已經(jīng)實例化好之后再調(diào)用該方法,如果一開始就調(diào)用則會沒有效果

        self.h_layout = QHBoxLayout()
        self.h_layout.addWidget(self.tree)
        self.h_layout.addWidget(self.label)
        self.setLayout(self.h_layout)

     def change_func(self, item, column):
        self.label.setText(item.text(column))
        #item.text(column)  返回項目指定列的文本

        if item == self.qt5112:
            if self.qt5112.checkState(0) == Qt.Checked:#判斷self.qt5112復選框的狀態(tài)。參數(shù)復選框位置:列序號
                #self.qt5112.checkState(0)   返回復選框的狀態(tài)
                [x.setCheckState(0, Qt.Checked) for x in self.item_list]
            else:
                [x.setCheckState(0, Qt.Unchecked) for x in self.item_list]
        else:
            check_count = 0
            for x in self.item_list:
                if x.checkState(0) == Qt.Checked:
                    check_count += 1

            if check_count == 5:
                self.qt5112.setCheckState(0, Qt.Checked)
            elif 0 < check_count < 5:
                self.qt5112.setCheckState(0, Qt.PartiallyChecked)  #設置復選框為半選中狀態(tài)
            else:
                self.qt5112.setCheckState(0, Qt.Unchecked)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Demo()
    demo.show()
    sys.exit(app.exec_())

enjoy文章來源地址http://www.zghlxwxcb.cn/news/detail-512159.html

到了這里,關(guān)于QTreeWidget實現(xiàn)復選框的全選/部分選擇/半選擇狀態(tài)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 記錄el-select+el-tree復選框,支持模糊查詢,懶加載,樹父子節(jié)點不關(guān)聯(lián),不全選

    記錄el-select+el-tree復選框,支持模糊查詢,懶加載,樹父子節(jié)點不關(guān)聯(lián),不全選

    需求:一個機構(gòu)下拉菜單,一個人員下拉菜單,默認帶入當前登錄用戶的機構(gòu)和人員。機構(gòu)下拉菜單為兩個接口,模糊查詢?yōu)橐粋€接口不包含懶加載,默認非模糊查詢情況下為一個接口,點擊節(jié)點懶加載。機構(gòu)下拉菜單數(shù)據(jù)變動更新人員下拉菜單數(shù)據(jù)。日期默認為當天

    2024年01月15日
    瀏覽(46)
  • uniapp復選框 實現(xiàn)排他選項

    uniapp復選框 實現(xiàn)排他選項

    選擇了排他選項之后 復選框其他選項不可以選擇

    2024年01月24日
    瀏覽(32)
  • 【微信小程序】實現(xiàn)復選框chebox勾選驗證

    【微信小程序】實現(xiàn)復選框chebox勾選驗證

    功能展示 ?未選中點擊按鈕 選中點擊按鈕 實現(xiàn)邏輯 1. 獲取checkbox的value值并綁定事件 2. 將獲取到的value值與定義的數(shù)據(jù)關(guān)聯(lián) 3. 當點擊按鈕是判斷是否勾選,為true則驗證通過,false則相反 ?代碼實現(xiàn) wxml js

    2024年02月07日
    瀏覽(23)
  • Pygame 基礎(chǔ)教程13: 使用 精靈(Sprite) 實現(xiàn) 按鈕、開關(guān)按鈕 和 復選框

    Pygame 基礎(chǔ)教程13: 使用 精靈(Sprite) 實現(xiàn) 按鈕、開關(guān)按鈕 和 復選框

    原文鏈接:https://xiets.blog.csdn.net/article/details/131395471 版權(quán)聲明:原創(chuàng)文章禁止轉(zhuǎn)載 專欄目錄:Pygame 專欄(總目錄) Pygame 中并沒有按鈕、開關(guān)按鈕、復選框 等基礎(chǔ)交互組件,但實際游戲開發(fā)中又經(jīng)常用到。例如用于點擊按鈕開始游戲的「開始按鈕」,用于開啟/關(guān)閉背景音樂

    2024年02月04日
    瀏覽(28)
  • vue中獲取復選框是否被選中的值、如何用JavaScript判斷復選框是否被選中

    一、方法介紹? ????????第一種方法:通過獲取dom元素,getElementById、querySelector、getElementsByName、querySelectorAll(需要遍歷,例如:for循環(huán)) ????????第二種是用v-model在input復選框上綁定一個變量,通過雙向綁定的特性來判斷復選框是否被選中。 (推薦使用) 二、演示

    2024年02月03日
    瀏覽(35)
  • html之input復選框變?yōu)閳A形、自定義復選框、消除默認樣式、去除默認樣式、事件代理、事件委托

    input 標簽對事件委托不起作用,需要單獨在 input 上綁定事件。 w3school outline (輪廓)是繪制于元素周圍的一條線,位于邊框邊緣的外圍,可起到突出元素的作用。 注釋:輪廓線不會占據(jù)空間,也不一定是矩形。 outline 簡寫屬性在一個聲明中設置所有的輪廓屬性。 MDN CSS的 outli

    2024年02月16日
    瀏覽(22)
  • react antd阻止Checkbox事件冒泡(折疊面板標題中增加復選框,阻止點擊復選框折疊面板展開/折疊)

    react antd阻止Checkbox事件冒泡(折疊面板標題中增加復選框,阻止點擊復選框折疊面板展開/折疊)

    背景 折疊面板Collapse標題中增加復選框,點擊復選框,會觸發(fā)折疊面板的展開和折疊。 我們希望勾選復選框的時候,不能影響到折疊面板的展開和折疊。 最開始使用 onChange 自帶的event來阻止事件冒泡,這種方式是無效的,代碼如下: 解決 監(jiān)聽復選框的 onClick 事件,用 e.st

    2024年02月11日
    瀏覽(37)
  • Layui列表復選框根據(jù)條件禁用
  • 安卓控件 - 單選按鈕和復選框

    安卓控件 - 單選按鈕和復選框

    安卓應用中,常常需要用戶從若干選項中進行選擇,有時要求只能選擇一個,那么就要使用單選按鈕(RadioButton),有時要求用戶可以選擇多個,那么就要使用復選框(CheckBox) 常用屬性 屬性 含義 orientation vertical (或 horizontal),決定單選按鈕是垂直排列還是水平排列 layo

    2024年02月06日
    瀏覽(27)
  • 復選框QCheckBox和分組框QGroupBox

    復選框QCheckBox和分組框QGroupBox

    實例化 1.1.1?復選框的基本函數(shù) 復選框選中狀態(tài)的參數(shù) QCheckBox dialog.cpp 復選框被選中狀態(tài)改變?觸發(fā)信號 QCheckBox 綁定 dialog.cpp 槽 定義 dialog.h 實現(xiàn) dialog.cpp 實例化 2.1.1?分組框的基本函數(shù) QGroupBox dialog.cpp

    2024年01月15日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包