国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

QT6實現(xiàn)按鈕雙擊事件

這篇具有很好參考價值的文章主要介紹了QT6實現(xiàn)按鈕雙擊事件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

實現(xiàn)思路:利用事件過濾器實現(xiàn)按鈕雙擊功能,主要是通過調(diào)用installEventFilter函數(shù)和重寫事件eventFilter函數(shù)實現(xiàn)。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-659865.html

1、創(chuàng)建項目

qt 按鈕點擊事件,qt,c++,ui

啟動Qt Creator,在主菜單的[文件]下,打開[新建文件或項目]菜單,彈出新建文件或項目對話框,創(chuàng)建Qt Widgets Application 項目,在Class Information步驟中Base class 選擇Qwidget,其他基本默認即可。

qt 按鈕點擊事件,qt,c++,ui

在界面增加1個列表控件和1個按鈕控件,為按鈕添加單機事件,界面設(shè)計如上所示。

?

2、代碼

widget.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Widget</class>
 <widget class="QWidget" name="Widget">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>565</width>
    <height>424</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Widget</string>
  </property>
  <widget class="QPushButton" name="btnDoubleTest">
   <property name="geometry">
    <rect>
     <x>430</x>
     <y>20</y>
     <width>101</width>
     <height>31</height>
    </rect>
   </property>
   <property name="text">
    <string>測試按鈕</string>
   </property>
  </widget>
  <widget class="QListWidget" name="listWidget">
   <property name="geometry">
    <rect>
     <x>10</x>
     <y>10</y>
     <width>401</width>
     <height>401</height>
    </rect>
   </property>
  </widget>
 </widget>
 <resources/>
 <connections/>
</ui>

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

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

private slots:
   void on_btnDoubleTest_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "./ui_widget.h"

#include <QMouseEvent>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    ui->btnDoubleTest->installEventFilter(this);
}

Widget::~Widget()
{
    delete ui;
}

bool Widget::eventFilter(QObject *watched, QEvent * event)
{
    if(event->type()==QEvent::MouseButtonDblClick)
    {
        QMouseEvent * e = static_cast<QMouseEvent *>(event);

        if(e->button() == Qt::LeftButton)
        {
             if(watched==ui->btnDoubleTest)
                 ui->listWidget->addItem(QString("雙擊事件"));

             return true;
        }
    }

    return QWidget::eventFilter(watched, event);
}

void Widget::on_btnDoubleTest_clicked()
{
    ui->listWidget->addItem(QString("單擊事件"));
}

?

3、運行效果

qt 按鈕點擊事件,qt,c++,ui

運行效果如上所示,單擊按鈕時觸發(fā)單擊事件,雙擊按鈕時觸發(fā)雙擊事件。

?

?

?

?

?

?

?

?

?

?

?

?

到了這里,關(guān)于QT6實現(xiàn)按鈕雙擊事件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • qt 實現(xiàn)點擊按鈕顯示彈窗,再次點擊按鈕或點擊彈窗之外的區(qū)域,彈窗消失。

    LumenWidget 為主界面 setting_ 為彈窗界面 tbn_map_setting 為點擊按鈕 彈窗界面要先設(shè)置如下屬性 第一步 主界面增加事件過濾器 第二步 將此事件過濾器加入到全部控件中 在主界面的構(gòu)造函數(shù)加入以下代碼 或 第三步 設(shè)置按鈕點擊槽函數(shù),本文為 tbn_map_setting

    2024年02月11日
    瀏覽(20)
  • Qt Button實現(xiàn)按鈕長按事件

    Qt Button實現(xiàn)按鈕長按事件

    最近項目遇到一個需求,通過鼠標按鈕長按一直發(fā)數(shù)據(jù),鼠標松開立即離開。 想了一會兒大概有了幾種思路(僅僅是思路,不一樣可以實現(xiàn)) 1.重寫鼠標事件,通過鼠標檢測實現(xiàn)。 2.定時器觸發(fā)實現(xiàn)。 3.通過某一個參數(shù)或者勾選命令實現(xiàn)。 QT按鈕類及定時器應(yīng)用 【QT】定時器

    2024年02月08日
    瀏覽(22)
  • QT學習12:QLabel實現(xiàn)點擊事件

    主要是通過安裝過濾器,實現(xiàn)點擊事件。 事件過濾器的操作: 首先給需要添加事件過濾器的部件 注冊監(jiān)聽對象 ; 對象名-installEventFilter(true); 重寫 eventFilter(QObject *obj, QEvent *event) 函數(shù)進行處理。

    2024年02月13日
    瀏覽(26)
  • Qt系列——點擊按鈕關(guān)閉窗口的三種實現(xiàn)方式,附源碼

    Qt系列——點擊按鈕關(guān)閉窗口的三種實現(xiàn)方式,附源碼

    主要實現(xiàn)了點擊QPushButton按鈕,關(guān)閉窗口的功能。 簡單設(shè)計界面如下,按鈕名稱如圖中右側(cè)紅框中內(nèi)容 源程序連接

    2024年02月11日
    瀏覽(55)
  • Vue中使用element-ui 給按鈕綁定一個單擊事件,實現(xiàn)點擊按鈕就彈出一個dialog對話框

    Vue中使用element-ui 給按鈕綁定一個單擊事件,實現(xiàn)點擊按鈕就彈出一個dialog對話框

    1.需求描述 想要實現(xiàn)點擊一個按鈕就彈出一個對話框,在對話框中可輸入數(shù)據(jù)進行提交,在點擊取消時對話框關(guān)閉 2.功能實現(xiàn) 1.創(chuàng)建按鈕 在element中把找到按鈕的代碼放到div里 2.創(chuàng)建對話框 在element中找到dialog對話框?qū)?yīng)的代碼,把代碼粘貼到對應(yīng)的位置 3.對話框與按鈕的綁定

    2024年01月18日
    瀏覽(104)
  • Python Qt6快速入門-事件處理

    Qt GUI應(yīng)用程序的核心是 QApplication 類。 每個GUI應(yīng)用程序都需要一個并且只有一個 QApplication 對象才能運行。 該對象包含應(yīng)用程序的事件循環(huán)——控制所有用戶與 GUI 交互的核心循環(huán)。

    2024年02月15日
    瀏覽(18)
  • Qt6使用QChartView類與鼠標事件實現(xiàn)波形的縮放、平移、坐標軸單軸縮放與鼠標懸停顯示點的數(shù)據(jù)

    Qt6使用QChartView類與鼠標事件實現(xiàn)波形的縮放、平移、坐標軸單軸縮放與鼠標懸停顯示點的數(shù)據(jù)

    ? ? ? ? 說在前面,本人也是近段時間剛開始學習Qt,實現(xiàn)上述功能的方法可能并不是最優(yōu),寫此篇文章也是記錄下學習的過程,也與大家分享一下。(在此先描述,后面會附上代碼)(前面說的會比較基礎(chǔ)) ? ? ? ? 首先,要使用QChartView類得現(xiàn)在.pro文件中加入:(得確保

    2024年02月09日
    瀏覽(44)
  • Qt 自定義窗口的標題欄,重寫鼠標事件實現(xiàn),關(guān)閉隱藏,最大化/最小化,重寫窗口事件函數(shù),實現(xiàn)鼠標選中邊框拉大拉小,雙擊標題欄切換窗口最大化和最小化

    Qt 自定義窗口的標題欄,重寫鼠標事件實現(xiàn),關(guān)閉隱藏,最大化/最小化,重寫窗口事件函數(shù),實現(xiàn)鼠標選中邊框拉大拉小,雙擊標題欄切換窗口最大化和最小化

    Qt 自定義窗口的標題欄,重寫鼠標事件實現(xiàn),關(guān)閉隱藏,最大化/最小化,重寫窗口事件函數(shù),實現(xiàn)鼠標選中邊框拉大拉小,雙擊標題欄切換窗口最大化和最小化 1、main.cpp 2、widget.h 3、widget.cpp 4、效果展示 5、完成

    2024年02月16日
    瀏覽(92)
  • Qt6 Qt Quick UI原型學習QML第七篇

    Qt6 Qt Quick UI原型學習QML第七篇

    導入 QtQuick 2.12 導入 QtQuick.Window 2.12 導入 QtQuick.Controls 2.12 導入 QtQuick.Layouts 1.3 導入 Qt.labs.calendar 1.0 矩形 { id: root 屬性 int duration: 3000 } 這段代碼使用了QtQuick庫來創(chuàng)建一個用戶界面。其中的Rectangle是界面的根元素。 id: root : 為Rectangle元素指定唯一的標識符root。 property int durat

    2024年02月16日
    瀏覽(51)
  • Qt6 Qt Quick UI原型學習QML第三篇

    Qt6 Qt Quick UI原型學習QML第三篇

    圖像 Image(圖片)元素 解釋 這段代碼是使用QtQuick 2.0庫來創(chuàng)建一個Image(圖片)元素的定義。以下是代碼的解釋: Image 元素是一個用于顯示圖像的控件。 id: root 是為Image元素指定了一個標識符,以便在代碼中引用它。 signal clicked 定義了一個名為 clicked 的信號。信號用于在特

    2024年02月16日
    瀏覽(66)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包