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

PyQt5重寫QComboBox的鼠標(biāo)點擊事件方法

 更新時間:2019年06月25日 11:04:34   作者:pzx_hkq  
今天小編就為大家分享一篇PyQt5重寫QComboBox的鼠標(biāo)點擊事件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近學(xué)PyQt5,想要做一個串口調(diào)試助手來練練手,之前用了正點原子的串口上位機(jī),覺得點擊ComboBox自動檢測串口這個功能很棒,之前用QT5寫串口調(diào)試助手的時候也想加入這個功能,但是一直沒有成功,之后就不了了之,現(xiàn)在用了PyQt之后就想著一定要實現(xiàn)這個功能,百度了之后看了很多資料都沒有找到直接的解決方法,但是大家都是在強(qiáng)調(diào)重寫鼠標(biāo)點擊事件,然后自己慢慢實驗終于寫出來了。

我的開發(fā)環(huán)境是PyCharm+Python3.6+PyQt5.9.2

1、建立工程創(chuàng)建界面什么的我就不寫了,百度一大堆,重點就在重寫QComboBox中的showPopup函數(shù),我生成的界面文件為MainWidget.py。

2、我一直想最大化QTDesigner的作用,我看到有一位網(wǎng)友是重寫了再進(jìn)行布局,我覺得這樣很麻煩,所以我的做法是把布局都做好了,再轉(zhuǎn)換成py文件之后,修改里面的代碼,布局就不放出來,很渣,直接看代碼。

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QComboBox
from PyQt5.QtCore import pyqtSignal  #導(dǎo)入這個模塊才可以創(chuàng)建信號

class MyComboBox(QComboBox):
  popupAboutToBeShown = pyqtSignal()   #創(chuàng)建一個信號
  # def mousePressEvent(self, QMouseEvent):#這個是重寫鼠標(biāo)點擊事件
  #   self.popupAboutToBeShown.emit()
  def showPopup(self):          #重寫showPopup函數(shù)
    self.popupAboutToBeShown.emit()   #發(fā)送信號

這樣重寫就完成了,我之前想的是重寫鼠標(biāo)點擊事件,也就是上面代碼中重寫鼠標(biāo)點擊事件,但是經(jīng)過實驗,重寫這個函數(shù)之后下拉列表就彈不出來了,后來研究了一下,在QComboBox中應(yīng)該是鼠標(biāo)點擊事件觸發(fā)了下拉函數(shù)showPopup,所以改為重寫showPopup。

通過查看QT幫助文檔可以看到

virtual void showPopup()

virtual關(guān)鍵字用于修改方法、屬性、索引器或事件聲明,并使它們可以在派生類中被重寫。

3、接下來就是修改建立界面的代碼,只需要修改一行,原代碼如下

self.ComBox = QtWidgets.QComboBox(self.splitter)

原代碼是調(diào)用QComboBox類,也就是showPopup函數(shù)沒有修改過,將其改為

self.ComBox = MyComboBox(self.splitter)

這是調(diào)用了重寫后的類,其他的QComboBox控件不做修改,其功能就還是正常的。

最后綁定信號與槽

self.ComBox.popupAboutToBeShown.connect(Form.refresh)

refresh槽函數(shù)在新建的py文件中定義

以上這篇PyQt5重寫QComboBox的鼠標(biāo)點擊事件方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Ubuntu安裝配置MySQL、Python、Nginx的詳細(xì)過程

    Ubuntu安裝配置MySQL、Python、Nginx的詳細(xì)過程

    這篇文章主要介紹了Ubuntu安裝配置MySQL、Python、Nginx的詳細(xì)過程,還包含了如何解決Navicat無法遠(yuǎn)程連接的問題,提供了檢查Python和Nginx是否已安裝的方法,需要的朋友可以參考下
    2025-03-03
  • keras自定義回調(diào)函數(shù)查看訓(xùn)練的loss和accuracy方式

    keras自定義回調(diào)函數(shù)查看訓(xùn)練的loss和accuracy方式

    這篇文章主要介紹了keras自定義回調(diào)函數(shù)查看訓(xùn)練的loss和accuracy方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python使用crontab模塊設(shè)置和清除定時任務(wù)操作詳解

    Python使用crontab模塊設(shè)置和清除定時任務(wù)操作詳解

    這篇文章主要介紹了Python使用crontab模塊設(shè)置和清除定時任務(wù)操作,結(jié)合實例形式分析了centos7平臺上Python安裝、python-crontab模塊安裝,以及基于python-crontab模塊的定時任務(wù)相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • python切片復(fù)制列表的知識點詳解

    python切片復(fù)制列表的知識點詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python切片復(fù)制列表的知識點相關(guān)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-10-10
  • Python生成器傳參數(shù)及返回值原理解析

    Python生成器傳參數(shù)及返回值原理解析

    這篇文章主要介紹了Python生成器傳參數(shù)及返回值原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • Tensorflow 查看變量的值方法

    Tensorflow 查看變量的值方法

    今天小編就為大家分享一篇Tensorflow 查看變量的值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • django Model層常用驗證器及自定義驗證器詳解

    django Model層常用驗證器及自定義驗證器詳解

    這篇文章主要介紹了django Model層常用驗證器及自定義驗證器詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python JWT認(rèn)證與pyjwt包詳細(xì)介紹

    Python JWT認(rèn)證與pyjwt包詳細(xì)介紹

    JWT的聲明一般被用來在身份提供者和服務(wù)提供者間傳遞被認(rèn)證的用戶身份信息,以便于從資源服務(wù)器獲取資源,也增加一些額外的其它業(yè)務(wù)邏輯所必須的聲明信息,該token也可直接被用于認(rèn)證,也可被加密,這篇文章主要介紹了Python JWT認(rèn)證與pyjwt包簡介,需要的朋友可以參考下
    2023-05-05
  • python繪制規(guī)則網(wǎng)絡(luò)圖形實例

    python繪制規(guī)則網(wǎng)絡(luò)圖形實例

    今天小編大家分享一篇python繪制規(guī)則網(wǎng)絡(luò)圖形實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • pytorch 實現(xiàn)L2和L1正則化regularization的操作

    pytorch 實現(xiàn)L2和L1正則化regularization的操作

    這篇文章主要介紹了pytorch 實現(xiàn)L2和L1正則化regularization的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

文水县| 卢龙县| 潜江市| 周宁县| 常德市| 宣威市| 来凤县| 凤城市| 丁青县| 曲沃县| 三亚市| 麻阳| 大洼县| 萨迦县| 石渠县| 米易县| 北流市| 平昌县| 新巴尔虎左旗| 灵川县| 阳朔县| 洪泽县| 时尚| 吉隆县| 贡嘎县| 福贡县| 嘉善县| 恩施市| 蛟河市| 南雄市| 会东县| 建瓯市| 婺源县| 佛教| 防城港市| 杭锦旗| 赤水市| 刚察县| 慈溪市| 邹平县| 张家川|