婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件

使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件

熱門標(biāo)簽:百應(yīng)ai電銷機器人鄭州 廈門crm外呼系統(tǒng)如何 ai地圖標(biāo)注 西藏快速地圖標(biāo)注地點 如何在地圖標(biāo)注文字 女王谷地圖標(biāo)注 長春人工智能電銷機器人官網(wǎng) 地圖標(biāo)注推廣單頁 n400電話申請多少錢

一、自定義MyComboBox

# MyComboBox.py
from PyQt5.QtWidgets import QComboBox
from PyQt5.QtCore import pyqtSignal       
class MyComboBox(QComboBox):
  clicked = pyqtSignal()     #創(chuàng)建一個信號
  def showPopup(self):      #重寫showPopup函數(shù)
    self.clicked.emit()     #發(fā)送信號
    super(MyComboBox, self).showPopup()   # 調(diào)用父類的showPopup()

二、使用MyComboBox創(chuàng)建窗口空間

# test_ui.py
    self.PrintersList = MyComboBox(self.groupBox) # 修改后
    # self.PrintersList = QtWidgets.QComboBox(self.groupBox) # 修改前

三、main函數(shù)中對clicked 信號進(jìn)行綁定

# main_loop.py
  self.PrintersList.clicked.connect(self.scan_printer_list_slot)    # 信號與槽函數(shù)的綁定
 # 槽函數(shù)的實現(xiàn)
  def scan_printer_list_slot(self):
   print("掃描打印機并刷新列表")

補充:PyQt5中QComboBox實現(xiàn)多選功能

網(wǎng)上大佬太多了,寫的啥沒看懂,自己摸索著也寫了個出來,也勉強能用。

功能:

QComboBox實現(xiàn)多選功能

返回選中的文本列表

一鍵全選和取消全選功能

from PyQt5 import QtCore, QtGui, QtWidgets
import sys
 
class CheckableComboBox(QtWidgets.QComboBox):
  def __init__(self, parent=None):
    super(CheckableComboBox, self).__init__(parent)
    self.setModel(QtGui.QStandardItemModel(self))
    self.view().pressed.connect(self.handleItemPressed)
    self.checkedItems = []
    self.view().pressed.connect(self.get_all)
    self.view().pressed.connect(self.getCheckItem)
    self.status = 0
 
  def handleItemPressed(self, index):              #這個函數(shù)是每次選擇項目時判斷狀態(tài)時自動調(diào)用的,不用管(自動調(diào)用)
    item = self.model().itemFromIndex(index)
    if item.checkState() == QtCore.Qt.Checked:
      item.setCheckState(QtCore.Qt.Unchecked)
    else:
      item.setCheckState(QtCore.Qt.Checked)
 
  def getCheckItem(self):
    # getCheckItem方法可以獲得選擇的項目列表,自動調(diào)用。
    for index in range(1,self.count()):
      item = self.model().item(index)
      if item.checkState() == QtCore.Qt.Checked:
        if item.text() not in self.checkedItems:
          self.checkedItems.append(item.text())
      else:
        if item.text() in self.checkedItems:
          self.checkedItems.remove(item.text())
    print("self.checkedItems為:",self.checkedItems)
    return self.checkedItems          #實例化的時候直接調(diào)用這個self.checkedItems就能獲取到選中的值,不需要調(diào)用這個方法,方法會在選擇選項的時候自動被調(diào)用。
 
  def get_all(self):              #實現(xiàn)全選功能的函數(shù)(自動調(diào)用)
    all_item = self.model().item(0)
 
    for index in range(1,self.count()):    #判斷是否是全選的狀態(tài),如果不是,全選按鈕應(yīng)該處于未選中的狀態(tài)
      if self.status ==1:
        if self.model().item(index).checkState() == QtCore.Qt.Unchecked:
          all_item.setCheckState(QtCore.Qt.Unchecked)
          self.status = 0
          break
 
    if all_item.checkState() == QtCore.Qt.Checked:
      if self.status == 0 :
        for index in range(self.count()):
          self.model().item(index).setCheckState(QtCore.Qt.Checked)
          self.status = 1
 
    elif all_item.checkState() == QtCore.Qt.Unchecked:
      for index in range(self.count()):
        if self.status == 1 :
          self.model().item(index).setCheckState(QtCore.Qt.Unchecked)
      self.status = 0
 
if __name__ == "__main__":
  app = QtWidgets.QApplication(sys.argv)
  dialog = QtWidgets.QMainWindow()
  mainWidget = QtWidgets.QWidget()
  dialog.setCentralWidget(mainWidget)
  ComboBox = CheckableComboBox(mainWidget)
  ComboBox.addItem("全選")
  for i in range(6):
    ComboBox.addItem("Combobox Item " + str(i))
  dialog.show()
  sys.exit(app.exec_())

總結(jié)(用法):

直接實例化一個Qcombox

使用ComboBox.addItem方法添加項目

調(diào)用ComboBox.checkedItems的屬性就能獲取到選中的文本列表

內(nèi)置函數(shù)基本都是自動的,統(tǒng)統(tǒng)不用管

調(diào)用checkedItems屬性的時候最后寫在ComboBox的槽函數(shù)里,這樣才能獲取到更改后的屬性,不然可能得到的會是空值。

補充:

定義一個槽函數(shù)self.get_checkedItems_slot用于獲取更改后的checkedItems屬性,下面三種ComboBox的信號槽選一種來用就行,推薦第一種。

ComboBox.activated.connect(self.get_checkedItems_slot) #推薦
ComboBox.highlighted.connect(self.get_checkedItems_slot)
ComboBox.currentIndexChanged.connect(self.get_checkedItems_slot)

挺不容易的,網(wǎng)上資料有關(guān)Pyqt太少了,要么是Qt的,要么寫得太復(fù)雜,要么沒講解的,大多是靠自己摸索出來的。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • PyQt5 QListView 高亮顯示某一條目的案例
  • pyqt5 QListWidget的用法解析
  • Pyqt5 實現(xiàn)多線程文件搜索的案例
  • PyQt5按下按鍵選擇文件夾并顯示的實現(xiàn)
  • 關(guān)于PyQt5主窗口圖標(biāo)顯示問題匯總
  • PyQt5設(shè)置登錄界面及界面美化的實現(xiàn)

標(biāo)簽:廊坊 綿陽 內(nèi)江 拉薩 黔東 興安盟 渭南 亳州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件》,本文關(guān)鍵詞  使用,pyqt5,實現(xiàn),ComboBox,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲免费三区一区二区| 4438成人网| 久久99蜜桃精品| 日韩av在线播放中文字幕| 亚洲国产人成综合网站| 一区二区高清在线| 亚洲超碰精品一区二区| 亚洲第一搞黄网站| 蜜桃精品视频在线观看| 久久精品国产第一区二区三区| 精品无人区卡一卡二卡三乱码免费卡| 久久精品国产网站| 国产精品夜夜嗨| 国产福利视频一区二区三区| av色综合久久天堂av综合| 99re8在线精品视频免费播放| 91美女片黄在线观看| 欧美日韩高清一区二区| 日韩三级免费观看| 国产精品蜜臀在线观看| 一区二区三区在线免费播放| 日韩一区欧美二区| 国产剧情一区在线| 91年精品国产| 欧美一级日韩一级| 国产精品久线在线观看| 婷婷久久综合九色综合伊人色| 久久99九九99精品| 色噜噜狠狠成人中文综合| 在线观看91精品国产麻豆| 国产日产精品一区| 亚洲第一狼人社区| 丁香婷婷综合色啪| 91丨porny丨最新| 日韩免费高清视频| 亚洲日本免费电影| 国产在线视频一区二区| av男人天堂一区| 精品国产三级电影在线观看| 亚洲日本丝袜连裤袜办公室| 久久99国产精品免费| 99国产精品久| 久久久久久久综合狠狠综合| 亚洲成人激情av| 成人av中文字幕| 精品三级在线看| 亚洲妇熟xx妇色黄| 国产精品一区二区果冻传媒| 欧美精品一卡二卡| 亚洲免费观看在线视频| 成人综合日日夜夜| 日韩视频国产视频| 午夜亚洲福利老司机| 成人福利电影精品一区二区在线观看| 日韩一区二区电影| 亚洲高清在线精品| 一本色道亚洲精品aⅴ| 国产精品全国免费观看高清| 国产又粗又猛又爽又黄91精品| 欧美日韩激情在线| 亚洲一级二级在线| 91啪亚洲精品| 亚洲欧洲无码一区二区三区| 国产盗摄一区二区| 国产欧美精品日韩区二区麻豆天美| 日韩va欧美va亚洲va久久| 欧美亚洲日本一区| 亚洲自拍偷拍欧美| 欧美日韩国产在线观看| 亚洲成人免费在线| 欧美高清视频www夜色资源网| 亚洲精品国久久99热| 色婷婷久久久久swag精品| 亚洲视频资源在线| 欧美优质美女网站| 亚洲国产精品一区二区久久| 欧美乱熟臀69xxxxxx| 日韩激情一区二区| 精品欧美一区二区久久| 精品在线你懂的| 国产视频一区二区在线| 成人久久视频在线观看| 最新日韩在线视频| 在线观看日韩电影| 爽好久久久欧美精品| 欧美v日韩v国产v| 国产一区二区成人久久免费影院 | 国产永久精品大片wwwapp| 精品福利一区二区三区免费视频| 极品少妇xxxx精品少妇| 中文字幕av一区二区三区免费看| 成人一级视频在线观看| 亚洲一区自拍偷拍| 欧美tickle裸体挠脚心vk| 成人sese在线| 亚洲成人福利片| 日韩美一区二区三区| 成人精品鲁一区一区二区| 亚洲一本大道在线| 日韩女优毛片在线| 99re8在线精品视频免费播放| 五月天精品一区二区三区| 久久久久九九视频| 欧美在线三级电影| 国产乱码精品一品二品| 亚洲综合激情网| 国产欧美日韩激情| 在线播放/欧美激情| 国产福利91精品一区| 亚洲成av人影院在线观看网| 久久久久久久久伊人| 欧美亚洲国产bt| 岛国精品在线观看| 午夜精品免费在线观看| 中文字幕乱码亚洲精品一区| 欧美三级乱人伦电影| 成人黄色小视频在线观看| 亚洲sss视频在线视频| 国产色91在线| 7878成人国产在线观看| 91偷拍与自偷拍精品| 国产一区二区三区久久久| 亚洲成va人在线观看| 亚洲欧洲三级电影| 久久精品在这里| 欧美xxxx在线观看| 欧美日韩国产电影| 一本大道久久a久久精二百| 国产999精品久久| 久久99精品久久久久久动态图| 亚洲一区日韩精品中文字幕| 中文字幕一区二| 国产女人18水真多18精品一级做| 91精品国产免费| 欧美另类高清zo欧美| 欧洲在线/亚洲| 91国在线观看| 色老头久久综合| 在线观看网站黄不卡| 91麻豆精品一区二区三区| 成人免费三级在线| 福利电影一区二区三区| 国产米奇在线777精品观看| 蜜臀va亚洲va欧美va天堂| 久久精品久久99精品久久| 免费观看日韩av| 日韩av不卡一区二区| 奇米四色…亚洲| 国产一区欧美一区| 国产精品18久久久久久久久| 国产成人综合亚洲网站| 成人免费毛片嘿嘿连载视频| 成人av网站在线观看| 97久久久精品综合88久久| 色综合天天综合狠狠| 欧美在线免费播放| 欧美精品在线观看一区二区| 91精品国产91久久久久久最新毛片| 欧美精品在线观看播放| 日韩欧美国产精品一区| 久久免费的精品国产v∧| 国产欧美一区二区三区在线老狼| 国产精品免费aⅴ片在线观看| 亚洲少妇30p| 婷婷亚洲久悠悠色悠在线播放| 蜜桃精品视频在线观看| 国产iv一区二区三区| 91麻豆国产精品久久| 欧美日韩1234| 久久久久久亚洲综合| 国产精品全国免费观看高清| 亚洲视频在线观看三级| 午夜欧美2019年伦理| 精品一区二区在线播放| 91亚洲精华国产精华精华液| 欧美日韩综合不卡| 久久先锋资源网| 亚洲综合av网| 国产精品456| 欧美日韩高清一区二区三区| 欧美成人精品高清在线播放| 中文字幕 久热精品 视频在线 | 欧美在线你懂的| 国产一区二区三区四区五区美女| 顶级嫩模精品视频在线看| 欧美四级电影在线观看| 欧美成人福利视频| 一区二区三区四区高清精品免费观看 | 精品亚洲免费视频| 99国产精品久| 精品成a人在线观看| 亚洲午夜av在线| 99在线精品免费| 精品sm在线观看| 午夜精品成人在线视频| 91日韩在线专区| 国产欧美精品一区aⅴ影院 | 2024国产精品视频| 亚洲午夜一区二区三区| 国产91富婆露脸刺激对白 |