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

Qt處理焦點(diǎn)事件(獲得焦點(diǎn),失去焦點(diǎn))

 更新時(shí)間:2023年12月15日 08:30:44   作者:大橘  
本文主要介紹了Qt處理焦點(diǎn)事件(獲得焦點(diǎn),失去焦點(diǎn)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

背景:

我只是想處理焦點(diǎn)動(dòng)作,由于懶,上網(wǎng)一搜,排名靠前的一位朋友,使用重寫部件的方式實(shí)現(xiàn)。還是因?yàn)閼?,所以感覺復(fù)雜了。于是又花了一分鐘解決了一下。

所以記錄下來,以免以后忘了。

思路:

事件過濾器是個(gè)好東西。

在vs里,從6.0到.net,為什么很多人評價(jià)說人家編程優(yōu)雅,確實(shí)好用。代碼自動(dòng)格式化,各種事件特別全。

在qt里面轉(zhuǎn)到槽,就簡單的幾個(gè)信號。大部分還是要靠事件過濾器細(xì)分。其實(shí),qt內(nèi)部已經(jīng)準(zhǔn)備了很多最基礎(chǔ)的信號(事件),只是需要多這樣一步。

插曲:之前跟同事聊,有些事實(shí)現(xiàn)起來不愿意多想,閑聊一句:qt能干這事不?也是隨口一句回答:c++都不行還什么能行?這句隨口一答,當(dāng)時(shí)是我即興發(fā)揮,沒考慮負(fù)不負(fù)責(zé)任。但卻成了后來qt之旅的信心來源。

言歸正傳。

先說一種場景,比如窗體上放一個(gè)文本框,我希望它永遠(yuǎn)是焦點(diǎn),也就是說,只要焦點(diǎn)離開,就setfocus。不討論實(shí)用性,只討論方法。以前在js中就實(shí)現(xiàn)過。

所以,第一步要做的是先看QEvent幫助,確認(rèn)里面支持。于是看到:enum QEvent::Type中有QEvent::FocusIn和QEvent::FocusOut,這就行了。我們只用到QEvent::FocusOut。

方法:

給文本框安裝事件過濾器,窗體代碼中重寫eventFilter函數(shù),并在其中判斷event->type()。代碼如下:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;

    bool eventFilter(QObject *watched, QEvent *event);
};

#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->lineEdit->installEventFilter(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}
bool MainWindow::eventFilter(QObject *watched, QEvent *event)
{
    if (watched == ui->lineEdit && event->type() == QEvent::FocusOut)
    {
        ui->lineEdit->setFocus();
        return true;
    }
    return QWidget::eventFilter(watched, event);
}

然后直接運(yùn)行看效果,始終是這個(gè)文本框獲得焦點(diǎn),無論鼠標(biāo)點(diǎn)擊別處,或者tab鍵切換焦點(diǎn)。

總結(jié):

所以,核心思想還是充分理解事件過濾器,相當(dāng)好用。

到此這篇關(guān)于Qt處理焦點(diǎn)事件(獲得焦點(diǎn),失去焦點(diǎn))的文章就介紹到這了,更多相關(guān)Qt 焦點(diǎn)事件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++學(xué)習(xí)之初始化列表詳解

    C++學(xué)習(xí)之初始化列表詳解

    這篇文章主要為大家詳細(xì)介紹了C++中初始化列表的相關(guān)知識,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C++有一定的幫助,需要的小伙伴可以了解一下
    2023-03-03
  • C語言位段(位域)機(jī)制結(jié)構(gòu)體的特殊實(shí)現(xiàn)及解析

    C語言位段(位域)機(jī)制結(jié)構(gòu)體的特殊實(shí)現(xiàn)及解析

    這篇文章主要為大家介紹了C語言位段位域機(jī)制結(jié)構(gòu)體的特殊實(shí)現(xiàn)講解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-02-02
  • C++ 簡單的任務(wù)隊(duì)列詳解

    C++ 簡單的任務(wù)隊(duì)列詳解

    下面小編就為大家?guī)硪黄狢++ 簡單的任務(wù)隊(duì)列詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • C++線程安全的隊(duì)列你了解嘛

    C++線程安全的隊(duì)列你了解嘛

    這篇文章主要為大家詳細(xì)介紹了C++線程安全的隊(duì)列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • bmp 縮放代碼(BMP位圖任意放大 和縮小)

    bmp 縮放代碼(BMP位圖任意放大 和縮小)

    這篇文章主要介紹了bmp 縮放代碼(BMP位圖任意放大 和縮小),需要的朋友可以參考下
    2016-04-04
  • C++實(shí)現(xiàn)歸并排序

    C++實(shí)現(xiàn)歸并排序

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)歸并排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++中頭文件的概念與基本編寫方法

    C++中頭文件的概念與基本編寫方法

    這篇文章主要介紹了C++中頭文件的概念與基本編寫方法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-12-12
  • C++設(shè)計(jì)模式之狀態(tài)模式

    C++設(shè)計(jì)模式之狀態(tài)模式

    這篇文章主要介紹了C++設(shè)計(jì)模式之狀態(tài)模式,本文講解了什么是狀態(tài)模式、狀態(tài)模式的使用場合、狀態(tài)模式的實(shí)現(xiàn)代碼等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • C++中的形參和實(shí)參區(qū)別解析

    C++中的形參和實(shí)參區(qū)別解析

    這篇文章主要介紹了C++中的形參和實(shí)參區(qū)別解析,本文將從定義、特性、傳遞方式等多個(gè)維度深入解析,幫你徹底掌握這對重要概念,需要的朋友可以參考下
    2025-09-09
  • C++中使用FFmpeg適配自定義編碼器的實(shí)現(xiàn)方法

    C++中使用FFmpeg適配自定義編碼器的實(shí)現(xiàn)方法

    本文介紹了在C++中使用FFmpeg庫進(jìn)行自定義編碼器適配的實(shí)現(xiàn)方法。文章通過具體的代碼示例,介紹了FFmpeg的基本使用方法和自定義編碼器的實(shí)現(xiàn)過程,幫助讀者了解如何在C++中進(jìn)行音視頻編碼和解碼的開發(fā)工作,并能夠?qū)崿F(xiàn)自定義的編碼器適配
    2023-04-04

最新評論

金寨县| 沈丘县| 大竹县| 卓尼县| 漯河市| 浮山县| 巴东县| 湘乡市| 登封市| 贵阳市| 高陵县| 邮箱| 佛山市| 杨浦区| 宜都市| 克拉玛依市| 行唐县| 新河县| 邹城市| 长武县| 比如县| 大邑县| 和平县| 贡嘎县| 玛多县| 台北县| 湄潭县| 富民县| 衡南县| 山东省| 临澧县| 邹城市| 郸城县| 卢龙县| 德格县| 马鞍山市| 嘉兴市| 阿坝| 灯塔市| 黄龙县| 靖江市|