亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

功能講解

QLineEdit控件進(jìn)行文本編輯,點(diǎn)擊保存按鈕后,隱藏編輯框和保存按鈕,僅展示編輯內(nèi)容,當(dāng)鼠標(biāo)點(diǎn)擊空白處時(shí),同樣隱藏編輯框、隱藏保存按鈕,但不存儲(chǔ)編輯文本

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

1.控件

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

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

2.響應(yīng)消息

此時(shí)需要響應(yīng)兩個(gè)消息。

消息1:點(diǎn)擊保存按鈕

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

消息2:QLineEdit控件失去焦點(diǎn)后操作

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

.h聲明

class CustomLineEdit : public QLineEdit
{
	Q_OBJECT

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

.cpp實(shí)現(xiàn)

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

CustomLineEdit::~CustomLineEdit()
{
}

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

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

3.1雙擊響應(yīng)QLabel控件

在Qt控件中,QLabel是不會(huì)響應(yīng)鼠標(biāo)按下消息,之前文章中就有提到,如何讓QLabel控件響應(yīng)消息 Qt|控件點(diǎn)擊消息獲取方法,這篇文章中詳細(xì)講述了如何讓QLabel控件響應(yīng)鼠標(biāo)按下消息。

鼠標(biāo)雙擊QLabel控件功能:雙擊后隱藏QLabel控件,并將QLineEdit編輯框控件、QPushButton保存控件展示出來(lái)。

//雙擊標(biāo)題事件

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

3.2QLineEdit失去焦點(diǎn)

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

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

3.3QPushButton保存按鈕

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

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

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

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

例如,點(diǎn)擊保存按鈕時(shí),先響應(yīng)保存按鈕,后響應(yīng)鼠標(biāo)失去焦點(diǎn)消息。

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

    C++簡(jiǎn)明圖解分析淺拷貝與深拷貝

    在c++中,深拷貝和淺拷貝也算是一個(gè)難點(diǎn),特別是對(duì)于初學(xué)者來(lái)說(shuō),往往在不知道兩者區(qū)別的情況下而錯(cuò)誤的使用了淺拷貝,從而導(dǎo)致了野指針之類(lèi)的問(wèn)題,但是又因?yàn)槿鄙倮斫馑院茈y定位到問(wèn)題所在
    2022-06-06
  • C語(yǔ)言堆棧入門(mén)指南

    C語(yǔ)言堆棧入門(mén)指南

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

    Qt禁止程序多開(kāi)的實(shí)現(xiàn)示例

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

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

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

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

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

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

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

最新評(píng)論