欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt實現(xiàn)編輯框失去焦點隱藏功能

 更新時間:2022年10月19日 08:59:12   作者:中國好公民st  
這篇文章主要為大家詳細介紹了Qt實現(xiàn)的一個簡單的編輯框操作——主窗口失去焦點隱藏功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下

今天來為大家分享一個小功能,首先看實現(xiàn)的效果吧~

功能講解

QLineEdit控件進行文本編輯,點擊保存按鈕后,隱藏編輯框和保存按鈕,僅展示編輯內(nèi)容,當鼠標點擊空白處時,同樣隱藏編輯框、隱藏保存按鈕,但不存儲編輯文本

如果你要需要實現(xiàn)這樣的功能,就繼續(xù)往下看吧~

1.控件

三個控件:QLineEdit編輯框、QPushButton按鈕、QLabel純文本展示。

默認QLabel控件是隱藏狀態(tài),只有點擊保存按鈕以及失去焦點后才會展示。

2.響應消息

此時需要響應兩個消息。

消息1:點擊保存按鈕

connect(ui.btnSave, &QPushButton::clicked, this, &QMyWidget::OnBnClickedSave);

消息2:QLineEdit控件失去焦點后操作

對于控件來說,失去焦點的一般是focusOut消息,在QLineEdit這個類中,該消息是受保護的,那么如果要獲取控件是如何失去焦點的,只能繼承QLineEdit類,將失去焦點的消息,發(fā)送給調(diào)用者。

.h聲明

class CustomLineEdit : public QLineEdit
{
	Q_OBJECT

public:
	CustomLineEdit(QWidget *parent);
	~CustomLineEdit();
signals:
	void Msg_SendCustomLineEditFocusOut(); //失去焦點消息
protected:
	void focusOutEvent(QFocusEvent *event) override;
};

.cpp實現(xiàn)

CustomLineEdit::CustomLineEdit(QWidget *parent)
	: QLineEdit(parent)
{
}

CustomLineEdit::~CustomLineEdit()
{
}

void CustomLineEdit::focusOutEvent(QFocusEvent *event)
{
	emit Msg_SendCustomLineEditFocusOut();
	QLineEdit::focusOutEvent(event);
}

3.窗口功能實現(xiàn)

3.1雙擊響應QLabel控件

在Qt控件中,QLabel是不會響應鼠標按下消息,之前文章中就有提到,如何讓QLabel控件響應消息 Qt|控件點擊消息獲取方法,這篇文章中詳細講述了如何讓QLabel控件響應鼠標按下消息。

鼠標雙擊QLabel控件功能:雙擊后隱藏QLabel控件,并將QLineEdit編輯框控件、QPushButton保存控件展示出來。

//雙擊標題事件

if (event->type() == QEvent::MouseButtonDblClick)
{
    //此刻,響應雙擊消息后,隱藏該控件,顯示編輯框、和保存按鈕
    m_labTitle->hide();
    m_editTitle->show();
    m_editTitle->clear();
    m_btnSave->show();
}

3.2QLineEdit失去焦點

編輯框失去焦點后功能:顯示QLabel控件,隱藏QLineEdit控件并且不記錄編輯的內(nèi)容,并隱藏保存按鈕。

m_labTitle->show();
m_editTitle->hide();
m_btnSave->hide();

3.3QPushButton保存按鈕

點擊保存按鈕后功能:獲取QLineEdit編輯框內(nèi)的文本并隱藏、隱藏保存按鈕,顯示QLbable控件,靜態(tài)文本展示。

QString qTitle = m_editTitle->text();
m_labTitle->setText(qTitle); //標題文本設(shè)置
m_labTitle->show();

m_editTitle->hide();
m_btnSave->hide();

實現(xiàn)了QLineEdit編輯框的失去焦點消息,那么該消息是什么時候觸發(fā)呢?

例如,點擊保存按鈕時,先響應保存按鈕,后響應鼠標失去焦點消息。

到此這篇關(guān)于Qt實現(xiàn)編輯框失去焦點隱藏功能的文章就介紹到這了,更多相關(guān)Qt編輯框失去焦點隱藏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++構(gòu)造函數(shù)的初始化列表詳解

    C++構(gòu)造函數(shù)的初始化列表詳解

    這篇文章主要為大家介紹了C++構(gòu)造函數(shù)的初始化列表,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • C語言淺析函數(shù)的用法

    C語言淺析函數(shù)的用法

    C語言函數(shù)是用來模塊化構(gòu)建程序的。如果你的功能少,你可以全都寫在mian函數(shù)中,但是當實現(xiàn)功能多的時候,如果全寫在main的函數(shù)里,不僅代碼不美觀,而且函數(shù)實現(xiàn)的時候結(jié)構(gòu)復雜,代碼重復
    2022-07-07
  • 詳解C語言中條件判斷語句if和switch的用法

    詳解C語言中條件判斷語句if和switch的用法

    這篇文章主要介紹了詳解C語言中條件判斷語句if和switch的用法,是C語言入門學習中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-04-04
  • C語言中const和C++中的const 區(qū)別詳解

    C語言中const和C++中的const 區(qū)別詳解

    這篇文章主要介紹了C語言中const和C++中的const 區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • C++簡明圖解分析淺拷貝與深拷貝

    C++簡明圖解分析淺拷貝與深拷貝

    在c++中,深拷貝和淺拷貝也算是一個難點,特別是對于初學者來說,往往在不知道兩者區(qū)別的情況下而錯誤的使用了淺拷貝,從而導致了野指針之類的問題,但是又因為缺少理解所以很難定位到問題所在
    2022-06-06
  • C語言堆棧入門指南

    C語言堆棧入門指南

    我身邊的一些編程的朋友以及在網(wǎng)上看帖遇到的朋友中有好多也說不清堆棧,所以我想有必要給大家分享一下我對堆棧的看法,有說的不對的地方請朋友們不吝賜教,這對于大家學習會有很大幫助
    2014-01-01
  • Qt禁止程序多開的實現(xiàn)示例

    Qt禁止程序多開的實現(xiàn)示例

    本文主要介紹了Qt 禁止程序多開的實現(xiàn)示例,主要介紹了三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • typedef_struct與struct之間的區(qū)別

    typedef_struct與struct之間的區(qū)別

    本篇文章主要是對typedef struct與struct之間的區(qū)別進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • c++特殊構(gòu)造函數(shù)詳解

    c++特殊構(gòu)造函數(shù)詳解

    大家好,本篇文章主要講的是c++特殊構(gòu)造函數(shù)詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • QT5中使用SQLite的實現(xiàn)方法

    QT5中使用SQLite的實現(xiàn)方法

    SQLite是一款開源輕量級的數(shù)據(jù)庫軟件,本文主要介紹了QT5中使用SQLite的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論