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

pyqt5的QComboBox 使用模板的具體方法

 更新時(shí)間:2018年09月06日 11:21:32   作者:一心獅  
這篇文章主要介紹了pyqt5的QComboBox 使用模板的具體方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

QComboBox 的常規(guī)使用方法,在這個(gè)使用模板里,基本都有了。

QComboBox小部件是一個(gè)組合的按鈕和彈出列表。

QComboBox提供了一種向用戶呈現(xiàn)選項(xiàng)列表的方式,其占用最小量的屏幕空間。

組合框是一個(gè)顯示當(dāng)前項(xiàng)目的選擇小部件,可以彈出可選項(xiàng)目列表。組合框可以是可編輯的,允許用戶修改列表中的每個(gè)項(xiàng)目。

組合框可以包含圖像以及字符串; 當(dāng)然insertItem()和setItemText()函數(shù)需要適當(dāng)重載。對(duì)于可編輯組合框,提供了函數(shù)clearEditText(),以清除顯示的字符串而不更改組合框的內(nèi)容。

如果組合框的當(dāng)前項(xiàng)目發(fā)生更改,則會(huì)發(fā)出兩個(gè)信號(hào)currentIndexChanged()和activated()。無(wú)論以編程方式或通過(guò)用戶交互完成更改,currentIndexChanged()總是被發(fā)射,而只有當(dāng)更改是由用戶交互引起時(shí)才activated() 。highlighted()信號(hào)在用戶突出顯示組合框彈出列表中的項(xiàng)目時(shí)發(fā)出。所有三個(gè)信號(hào)都有兩個(gè)版本,一個(gè)帶有str參數(shù),另一個(gè)帶有int參數(shù)。如果用戶選擇或突出顯示一個(gè)圖像,則只會(huì)發(fā)出int信號(hào)。每當(dāng)可編輯組合框的文本發(fā)生改變時(shí),editTextChanged()信號(hào)就會(huì)發(fā)出。

當(dāng)用戶在可編輯的組合框中輸入一個(gè)新的字符串時(shí),該小部件可能會(huì)插入它,也可能不會(huì)插入它,并且可以將它插入到多個(gè)位置。默認(rèn)策略是InsertAtBottom,但您可以使用setInsertPolicy()更改它。

可以使用QValidator將輸入約束為可編輯的組合框;請(qǐng)參閱setValidator()。默認(rèn)情況下,接受任何輸入。

例如,可以使用插入函數(shù)insertItem()和insertItems()來(lái)填充組合框??梢允褂胹etItemText()更改項(xiàng)目。一個(gè)項(xiàng)目可以使用removeItem()來(lái)移除,所有項(xiàng)目都可以使用clear()來(lái)移除。當(dāng)前項(xiàng)目的文本由currentText()返回,項(xiàng)目的文本編號(hào)使用text()返回。當(dāng)前項(xiàng)目可以使用setCurrentIndex()來(lái)設(shè)置。 count()返回組合框中的項(xiàng)目數(shù);可以用setMaxCount()設(shè)置項(xiàng)目的最大數(shù)量。您可以允許使用setEditable()進(jìn)行編輯。對(duì)于可編輯組合框,您可以使用setCompleter()設(shè)置自動(dòng)完成,并且用戶是否可以添加重復(fù)項(xiàng)由setDuplicatesEnabled()進(jìn)行設(shè)置。

QComboBox為其彈出列表使用模型/視圖框架并存儲(chǔ)其項(xiàng)目。默認(rèn)情況下,QStandardItemModel存儲(chǔ)項(xiàng)目,QListView子類顯示彈出列表。您可以直接訪問(wèn)模型和視圖(使用model()和view()),但QComboBox還提供了設(shè)置和獲取項(xiàng)目數(shù)據(jù)的函數(shù)(例如,setItemData()和itemText())。您還可以設(shè)置新的模型和視圖(使用setModel()和setView())。對(duì)于組合框標(biāo)簽中的文本和圖標(biāo),將使用具有Qt.DisplayRole和Qt.DecorationRole的模型中的數(shù)據(jù)。請(qǐng)注意,您不能通過(guò)使用setSelectionMode()來(lái)更改view()的SelectionMode。

類歸屬

PyQt5->QtWidgets->QComboBox

繼承關(guān)系

PyQt5->QObject and QPaintDevice->QWidget->QFontComboBox->QComboBox

熟悉一下代碼,直接就可以用了。

【如下代碼,完全復(fù)制,直接運(yùn)行,即可使用】

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

items_list=["C","C++","Java","Python","JavaScript","C#","Swift","go","Ruby","Lua","PHP"]

datas_list=[1972,1983,1995,1991,1992,2000,2014,2009,1995,1993,1995]

################################################
class Widget(QWidget):
  def __init__(self, *args, **kwargs):
    super(Widget, self).__init__(*args, **kwargs)
    layout = QVBoxLayout(self)
    self.combobox1 = QComboBox(self, minimumWidth=200)
    self.combobox2 = QComboBox(self, minimumWidth=200)
    self.combobox3 = QComboBox(self, minimumWidth=200)
    self.combobox4 = QComboBox(self, minimumWidth=200)

    layout.addWidget(QLabel("增加單項(xiàng),不帶數(shù)據(jù)", self))
    layout.addWidget(self.combobox1)
    layout.addItem(QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum))

    layout.addWidget(QLabel("增加單項(xiàng),附帶數(shù)據(jù)", self))
    layout.addWidget(self.combobox2)
    layout.addItem(QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum))

    layout.addWidget(QLabel("增加多項(xiàng),不帶數(shù)據(jù)", self))
    layout.addWidget(self.combobox3)
    layout.addItem(QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Minimum))

    layout.addWidget(QLabel("設(shè)置模型,不帶數(shù)據(jù)", self))
    layout.addWidget(self.combobox4)


    #初始化combobox
    self.init_combobox1()
    self.init_combobox2()
    self.init_combobox3()
    self.init_combobox4()

    #增加選中事件
    self.combobox1.activated.connect(self.on_combobox1_Activate)
    self.combobox2.activated.connect(self.on_combobox2_Activate)
    self.combobox3.activated.connect(self.on_combobox3_Activate)
    self.combobox4.activated.connect(self.on_combobox4_Activate)

  ####### addItem() 增加單項(xiàng)元素,不帶數(shù)據(jù) #########
  def init_combobox1(self):
    for i in range(len(items_list)):
      self.combobox1.addItem(items_list[i])
    self.combobox1.setCurrentIndex(-1)

  def on_combobox1_Activate(self, index):
    print(self.combobox1.count())
    print(self.combobox1.currentIndex())
    print(self.combobox1.currentText())
    print(self.combobox1.currentData())
    print(self.combobox1.itemData(self.combobox1.currentIndex()))
    print(self.combobox1.itemText(self.combobox1.currentIndex()))
    print(self.combobox1.itemText(index))

  ####### addItem() 增加單項(xiàng)元素,附帶數(shù)據(jù) #########
  def init_combobox2(self):
    for i in range(len(items_list)):
      self.combobox2.addItem(items_list[i],datas_list[i])
    self.combobox2.setCurrentIndex(-1)

  def on_combobox2_Activate(self, index):
    print(self.combobox2.count())
    print(self.combobox2.currentIndex())
    print(self.combobox2.currentText())
    print(self.combobox2.currentData())
    print(self.combobox2.itemData(self.combobox2.currentIndex()))
    print(self.combobox2.itemText(self.combobox2.currentIndex()))
    print(self.combobox2.itemText(index))

  ####### addItems() 增加多項(xiàng)元素,不帶數(shù)據(jù) #########
  def init_combobox3(self):
    self.combobox3.addItems(items_list)
    self.combobox3.setCurrentIndex(-1)

  def on_combobox3_Activate(self, index):
    print(self.combobox3.count())
    print(self.combobox3.currentIndex())
    print(self.combobox3.currentText())
    print(self.combobox3.currentData())
    print(self.combobox3.itemData(self.combobox3.currentIndex()))
    print(self.combobox3.itemText(self.combobox3.currentIndex()))
    print(self.combobox3.itemText(index))

  ####### setModel() 設(shè)置數(shù)據(jù)模型,不帶數(shù)據(jù) #########
  def init_combobox4(self):
    self.tablemodel = QStringListModel(items_list)
    self.combobox4.setModel(self.tablemodel)
    self.combobox4.setCurrentIndex(-1)

  def on_combobox4_Activate(self, index):
    print(self.combobox4.count())
    print(self.combobox4.currentIndex())
    print(self.combobox4.currentText())
    print(self.combobox4.currentData())
    print(self.combobox4.itemData(self.combobox4.currentIndex()))
    print(self.combobox4.itemText(self.combobox4.currentIndex()))
    print(self.combobox4.itemText(index))

if __name__ == "__main__":
  app = QApplication(sys.argv)
  w = Widget()
  w.show()
  sys.exit(app.exec_())

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • Python中處理時(shí)間的幾種方法小結(jié)

    Python中處理時(shí)間的幾種方法小結(jié)

    這篇文章主要介紹了Python中處理時(shí)間的幾種方法,包括時(shí)間的獲取和時(shí)間之間的轉(zhuǎn)換等等,需要的朋友可以參考下
    2015-04-04
  • Python建立Map寫Excel表實(shí)例解析

    Python建立Map寫Excel表實(shí)例解析

    這篇文章主要介紹了Python建立Map寫Excel表實(shí)例解析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • 使用Anaconda創(chuàng)建Pytorch虛擬環(huán)境的排坑詳細(xì)教程

    使用Anaconda創(chuàng)建Pytorch虛擬環(huán)境的排坑詳細(xì)教程

    PyTorch是一個(gè)開(kāi)源的Python機(jī)器學(xué)習(xí)庫(kù),基于Torch,用于自然語(yǔ)言處理等應(yīng)用程序,下面這篇文章主要給大家介紹了關(guān)于使用Anaconda創(chuàng)建Pytorch虛擬環(huán)境的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Django調(diào)用支付寶接口代碼實(shí)例詳解

    Django調(diào)用支付寶接口代碼實(shí)例詳解

    這篇文章主要介紹了Django調(diào)用支付寶接口代碼實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python functools.lru_cache裝飾器性能提升利器深入探究

    Python functools.lru_cache裝飾器性能提升利器深入探究

    本文將詳細(xì)介紹functools.lru_cache裝飾器的原理、用法以及適當(dāng)?shù)膱?chǎng)景,以幫助你更好地利用這一功能,它可以用來(lái)緩存函數(shù)的輸出,以避免重復(fù)計(jì)算,從而顯著提高程序的執(zhí)行速度
    2024-01-01
  • Python+Selenium實(shí)現(xiàn)短視頻自動(dòng)上傳與發(fā)布的實(shí)踐

    Python+Selenium實(shí)現(xiàn)短視頻自動(dòng)上傳與發(fā)布的實(shí)踐

    本文主要介紹了Python+Selenium實(shí)現(xiàn)短視頻自動(dòng)上傳與發(fā)布的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Python使用pandas對(duì)數(shù)據(jù)進(jìn)行差分運(yùn)算的方法

    Python使用pandas對(duì)數(shù)據(jù)進(jìn)行差分運(yùn)算的方法

    今天小編就為大家分享一篇Python使用pandas對(duì)數(shù)據(jù)進(jìn)行差分運(yùn)算的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • Windows10+anacond+GPU+pytorch安裝詳細(xì)過(guò)程

    Windows10+anacond+GPU+pytorch安裝詳細(xì)過(guò)程

    這篇文章主要介紹了Windows10+anacond+GPU+pytorch安裝詳細(xì)過(guò)程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python圖形化工具對(duì)比詳解

    Python圖形化工具對(duì)比詳解

    Python作為一種強(qiáng)大的編程語(yǔ)言,廣泛應(yīng)用于數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)、Web開(kāi)發(fā)以及圖形化編程等領(lǐng)域,在圖形化編程方面,Python提供了多種庫(kù)和工具,幫助開(kāi)發(fā)者快速構(gòu)建用戶界面和圖形應(yīng)用,本文將介紹幾種流行的Python圖形化工具,需要的朋友可以參考下
    2024-12-12
  • Python面向?qū)ο筮M(jìn)階學(xué)習(xí)

    Python面向?qū)ο筮M(jìn)階學(xué)習(xí)

    在本文里我們整理了關(guān)于Python面向?qū)ο蟮倪M(jìn)階學(xué)習(xí)知識(shí)點(diǎn)以及學(xué)習(xí)路線等內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-05-05

最新評(píng)論

山阴县| 芦山县| 山阴县| 桓仁| 新巴尔虎左旗| 龙胜| 韶山市| 馆陶县| 蒙自县| 祁连县| 西昌市| 萨嘎县| 遂川县| 延安市| 阿合奇县| 米易县| 栖霞市| 乌鲁木齐县| 中山市| 当雄县| 达拉特旗| 革吉县| 威信县| 新绛县| 新民市| 汉阴县| 沙河市| 德格县| 大丰市| 宜章县| 五家渠市| 清丰县| 英吉沙县| 修水县| 万盛区| 盖州市| 成安县| 南召县| 南漳县| 乐昌市| 安达市|