1. 程式人生 > >QT-懸浮對話方塊

QT-懸浮對話方塊

開發環境:VS2010+QT4.8.6

實現功能:當滑鼠懸浮於按鈕控制元件,彈出對話方塊。離開時,對話方塊關閉。並且對話方塊的位置隨滑鼠一起改變。

新建qt application(csdn_hoverdialog)

為懸浮對話方塊新建一個QDialog類(hoverdialog),在hoverdialog.ui內,拖入一個pushbutton,改變pushbutton 的樣式,為pushbutton插入背景圖片。

在csdn_hoverdialog.h標頭檔案中新增

#include "hoverdialog.h"
#include "ui_hoverdialog.h"
public:
	QDialog *Skill01_dlg;
	bool eventFilter(QObject *target, QEvent *e);

private
	Ui::hoverdialog ui001;

在csdn_hoverdialog.cpp建構函式中,新增以下程式碼:

	ui.pushButton->installEventFilter(this);
	Skill01_dlg = new QDialog (this);  //技能01介紹框
	ui001.setupUi(Skill01_dlg);
	Skill01_dlg->setWindowFlags(Qt::FramelessWindowHint);
	Skill01_dlg->hide();

在csdn_hoverdialog.cpp新增函式
bool csdn_HoverDialog::eventFilter(QObject *target, QEvent *e)
{
	QPoint coursePoint;
	coursePoint = QCursor::pos();//獲取當前游標的位置

	if(target == ui.pushButton)
	{
		Skill01_dlg->move(coursePoint.x()-300,coursePoint.y()-300);//座標
		if(e->type() == QEvent::Enter)
		{			
			Skill01_dlg->show();
		}
		if(e->type() == QEvent::Leave)
		{			
			Skill01_dlg->close();
		}
	}
		return QWidget::eventFilter(target, e);
}


相關推薦

QT-懸浮對話方塊

開發環境:VS2010+QT4.8.6 實現功能:當滑鼠懸浮於按鈕控制元件,彈出對話方塊。離開時,對話方塊關閉。並且對話方塊的位置隨滑鼠一起改變。 新建qt application(csdn_hoverdialog) 為懸浮對話方塊新建一個QDialog類(hoverdia

Qt 標準對話方塊messagbox各種型別使用方法記錄

QMessageBox::information: QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); 下面是一個簡單的

QT QDialog 對話方塊顯示幾秒鐘自動關閉

在實際開發中,我們會有這樣一種需求,一個提示框,使用者可以手動關閉,或者在使用者沒有操作的情況下,顯示3秒鐘然後自動關閉,這樣應該怎樣做呢?我們的思路應該是這樣的:1.對話方塊建構函式裡,設定一個定時器

十一、Qt對話方塊建立與銷燬

模態對話方塊就是指在子對話方塊彈出時,焦點被強行集中於該子對話方塊,子對話方塊不關閉,使用者將無法操作其他的視窗。非模態相反,使用者仍然可以操作其他的視窗,包括該子對話方塊的父對話方塊。 如果從執行緒角度來講,模態對話方塊實際上是執行緒阻塞的,也就是子對話方塊是一個執行

Qt學習之路12--Qt標準對話方塊(字型對話方塊、進度條對話方塊和列印對話方塊

使用預定義對話方塊的三板斧原則:定義物件後設置父元件和屬性、模態呼叫exec()、根據結果判斷執行流程。 字型對話方塊 字型對話方塊屬於Qt預定義的對話方塊型別,它的作用就是通過使用者得到字型型別並返回。 QFontDialog dia(this)

Qt: 進度對話方塊的使用

           在執行長時間任務時,如果沒有進度條,使用者很難把握任務完成進度,而且如果耗時太長或誤操作 沒有進度條就無法取消任務。對於GUI程式,還會導致主介面假死現象。所以對於一個長時間任務

QT學習day02---圖形介面、對話方塊、訊號與槽

一、QT圖形介面 ①QT座標軸 起點:左上角 X:橫軸 Y:縱軸 ②QWidget、QDialog、QMainWindow的異同點 QWidget:視窗為空,什麼內容都沒有 QMainWindow:含有選單欄,狀態列,工具欄等…已經包含了QWidget QDialog:對話方塊(

QT建立顏色對話方塊

接續上節https://blog.csdn.net/xunye_dream/article/details/83002991 標頭檔案: #ifndef DIALOG_H #define DIALOG_H #include <QDialog> class QPushBut

QT——建立標準檔案對話方塊

標頭檔案: #ifndef DIALOG_H #define DIALOG_H #include <QDialog> class QPushButton; class QLineEdit; class QGridLayout; class Dialog : public Q

QT 對話方塊QDialog

PS:  1.關閉主視窗並退出程式是 QApplication::exit()  2.如果是QDialog,就accept() 或 reject()  3.對於所有QWidget:close() PPS:  show()與exec()區別:  s

Qt之標準對話方塊(字型對話方塊

字型對話方塊 1、包含標頭檔案 #include < QFontDialog> void Widget::on_FontButton_clicked() { //ok 用

Qt 筆記:查詢對話方塊

·查詢對話方塊需求分析 -可複用軟體部件 -查詢文字框中的指定支付串 -能夠指定查詢方向 -支援大小寫銘感查詢 ·附加需求 -點選關閉按鈕後隱藏 查詢對話方塊的架構與設計  文字查詢功能的核心思想 -獲取當前游標的位置並作為起始點 -向後(向前)查詢目

QT開啟和儲存檔案對話方塊

使用QFileDialog可以呼叫當前系統的檔案對話方塊 包含標頭檔案: #include <QFileDialog> (1)檔案開啟對話方塊 QString getOpenFile

Android中對話方塊右上角關閉懸浮按鈕的實現(總結)

其實很簡單,步驟如下: 1、需要把對話方塊的預設背景改為透明。 方法:自定義Dialog的樣式。 <!--對話方塊透明背景--> <style name="Translucent_NoTitle" parent="android:style/Theme

Qt 新增一個QFrame的對話方塊,設定按鈕的樣式表

新增一個QFrame的對話方塊 設定按鈕的樣式表 QPushButton#pdf2file { border:0px; background-image:url(:/images/btn-menu-02.png); font:16px "微軟雅黑"; colo

Qt自帶對話方塊的建立與使用

Qt自帶對話方塊的種類     對話方塊的使用方式     1.建立對話方塊物件     2.設定對話方塊屬性     3.輸出對話方塊並處理對話方塊傳輸回來的資料物件  

qt實現掃雷三:對話方塊設計

qt實現掃雷三:對話方塊設計 對話方塊實現掃雷雷區大小和雷數的設定 問題總結 1、提供給上層物件介面,設定三個引數或獲取三個引數 2、繼承自QDialog類 3、定義槽函式時,需要有巨集,類繼承自QObject時需要有這個巨集定義 Q_OBJECT 4、以下語句可以設定

QtQt的GUI設計與製作(下篇:高階控制元件、Qt Designer、對話方塊

高階控制元件 Qt為了方便GUI的設計,不僅僅提供了QPushButton、QLabel這樣的單一控制元件,還提供了可以將多個控制元件功能合為一體的高階控制元件類。如:顯示日曆的QCalendarWidget類,還提供了將多個控制元件功能融為一體的控制元件。 QCalendarWidge

Qt主介面獲取對話方塊資料

在編寫Qt程式的時候,我們常常需要通過對話方塊來獲取使用者的輸入資料,比如通過檔案對話方塊獲取檔案的路徑,通過顏色對話方塊獲取使用者所選擇的顏色,這些對話方塊的類都是Qt幫我們寫好了的,呼叫相應函式就能直接返回使用者的輸入,比如顏色對話方塊QColorDialo

QT之開啟檔案對話方塊,獲取檔名

檔案得主要目錄如下圖: 再mainwindow.ui中只加了一個pushbutton dialog.cpp中沒有任何操作    最後付下主要程式碼: #include "mainwindow.h" #include "ui_main