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

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

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

背景:

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

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

思路:

事件過濾器是個好東西。

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

在qt里面轉到槽,就簡單的幾個信號。大部分還是要靠事件過濾器細分。其實,qt內部已經準備了很多最基礎的信號(事件),只是需要多這樣一步。

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

言歸正傳。

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

所以,第一步要做的是先看QEvent幫助,確認里面支持。于是看到: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);
}

然后直接運行看效果,始終是這個文本框獲得焦點,無論鼠標點擊別處,或者tab鍵切換焦點。

總結:

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

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

相關文章

  • C++學習之初始化列表詳解

    C++學習之初始化列表詳解

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

    C語言位段(位域)機制結構體的特殊實現(xiàn)及解析

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

    C++ 簡單的任務隊列詳解

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

    C++線程安全的隊列你了解嘛

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

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

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

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

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

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

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

    C++設計模式之狀態(tài)模式

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

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

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

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

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

最新評論

鄂州市| 成安县| 呼和浩特市| 浦城县| 湘潭市| 平乡县| 东丰县| 海南省| 玉山县| 桓仁| 建始县| 分宜县| 达尔| 老河口市| 天台县| 蓬安县| 鲁山县| 乐至县| 抚宁县| 绥中县| 枣庄市| 广东省| 苗栗市| 茌平县| 林芝县| 新竹县| 富川| 平乡县| 沙河市| 宁晋县| 博客| 玉龙| 英吉沙县| 离岛区| 普安县| 陇川县| 金沙县| 筠连县| 始兴县| 大丰市| 阳原县|