• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            zhonghua

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              72 Posts :: 1 Stories :: 4 Comments :: 0 Trackbacks
            在父widget上擺一個子widget后,當(dāng)click子widget時:只會進入到子widget的相關(guān)事件處理函數(shù)中,比如進入到 mousePressEvent()中, 而不會進入到父widget的對應(yīng)事件處理函數(shù)中。畢竟:click的是子widget,其遮擋住了父widget,從而父widget接收不到這個事 件。然而事實真的是這個樣子嗎?

                 我做了一個測試: 在一個QWidget上建了一個QLabel。而后實現(xiàn)父QWidget的mousePressEvent(), 然后跟一下發(fā)現(xiàn):當(dāng)我click這個label時:居然能進入到父QWidget的mousePressEvent()中!但是如果把子改成 QPushButton則進入不了!


                 咨詢了一下別人,得到的答案是:如果子widget沒有accept或ignore該事件,則該事件會被傳遞給其父親。


               事實也確實如此:

                ①對于QLabel: 如果不重寫mouse處理函數(shù),也沒有設(shè)置事件過濾器等操作的話,則相當(dāng)于:其對mouse這個事件一直沒有進行處理,那沒有進行處理的話,相當(dāng)于上邊所說的情況,此時該事件會被傳遞給其parent。

                ②而對于QPushButton而言:當(dāng)click它時:其會發(fā)射clicked()信號,其實這就相當(dāng)于它對該事件的一個operator過程。所以:這里它accept該事件并進行了對應(yīng)處理。從而:無法傳遞給其父窗口。



                那么:對于一個繼承而來的類,只要我們重寫實現(xiàn)了其各個事件處理函數(shù),則對應(yīng)的事件肯定無法傳遞給其父widget!  哪怕重寫的該事件處理函數(shù)的函數(shù)體為空!


               如果是標(biāo)準(zhǔn)的控件對象,則其肯定沒重寫各個事件處理函數(shù)。那消息能不能傳遞到父widget中,則取決于中途有沒有使用事件過濾器等將該信號攔截下來了。

            posted on 2012-03-29 15:09 米米 閱讀(620) 評論(0)  編輯 收藏 引用 所屬分類: qt
            中文字幕乱码人妻无码久久| 久久久精品国产sm调教网站| 久久国产精品久久| 精品久久综合1区2区3区激情| 青青草国产精品久久久久| 国产农村妇女毛片精品久久| 四虎国产精品成人免费久久| 国产成人无码精品久久久性色| 精品久久久久香蕉网| 久久久久久久亚洲精品| 久久SE精品一区二区| 欧美激情精品久久久久| 久久精品视频一| 国产日韩久久久精品影院首页| 性做久久久久久久久浪潮| 91精品国产色综合久久| 色综合合久久天天给综看| 要久久爱在线免费观看| 一个色综合久久| 久久国产亚洲精品麻豆| 久久伊人精品一区二区三区| 9191精品国产免费久久| 伊人久久大香线蕉亚洲| 99久久精品这里只有精品| 亚洲精品无码久久久久sm| 国产精品美女久久久免费| 久久精品毛片免费观看| 中文字幕精品久久久久人妻| 一本大道加勒比久久综合| 久久人人妻人人爽人人爽| 亚洲精品无码久久不卡| 91精品观看91久久久久久| 2021久久精品国产99国产精品 | 无码日韩人妻精品久久蜜桃| 国产精品无码久久四虎| 97精品久久天干天天天按摩 | 日韩AV毛片精品久久久| 国产精品丝袜久久久久久不卡| 精品一区二区久久| 91精品免费久久久久久久久| 国产V综合V亚洲欧美久久|