【Qt開發】QT對話框去掉幫助和關閉按鈕 攔截QT關閉窗口的CloseEvent

建了一個對話框,我不想把邊框去掉,只想去掉關閉按鈕,
setWindowFlags(windowFlags()&~Qt::WindowCloseButtonHint&~Qt::WindowContextHelpButtonHint);
結果那個問號的按鈕去掉了,但是關閉按鈕還在,求助啊

setWindowFlags(Qt::WindowTitleHint | Qt::CustomizeWindowHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint);
這樣就行了,哈哈!
?

setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint);
還是簡單點好!


QDialog類下有一個虛函數

void QDialog::closeEvent (??QCloseEvent???*??e???)??[virtual protected]

通過實現closeEvent函數,就可以以對關閉窗口消息進行攔截,比如程序還沒有完成工作時,可以彈出警告窗口,即使用戶確認退出操作

?

在頭文件中,需要加入#include <QCloseEvent>:

?

#ifndef TEST_H
#define TEST_H

#include <QDialog>
#include <QCloseEvent>

class ClientTest : public QDialog
{
??? Q_OBJECT

public:
??? ClientTest();
??? void closeEvent(QCloseEvent *event);
?//后邊的具體實現省略
...

};
#endif

?

在cpp文件中,對closeEvent函數進行實現:

?

void ClientTest::closeEvent(QCloseEvent *event)
{
??? QMessageBox::StandardButton button;
??? button = QMessageBox::question(this, tr("退出程序"),
??????? QString(tr("警告:程序有一個任務正在運行中,是否結束操作退出?")),
??????? QMessageBox::Yes | QMessageBox::No);

??? if (button == QMessageBox::No) {
??????? event->ignore();? //忽略退出信號,程序繼續運行
??? }
??? else if (button == QMessageBox::Yes) {
??????? event->accept();? //接受退出信號,程序退出
??? }
}

轉載于:https://www.cnblogs.com/huty/p/8518007.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/395037.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395037.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395037.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vivado Design Suite用戶指南之約束的使用第二部分(約束方法論)

Constraints Methodology&#xff08;約束方法論&#xff09; 關于約束方法論 設計約束定義了編譯流程必須滿足的要求&#xff0c;以使設計在板上起作用。 并非所有步驟都使用所有約束在編譯流程中。 例如&#xff0c;物理約束僅在實現步驟期間使用&#xff08;即&#xff0c;由…

eval函數 php_PHP的一句話木馬代碼和函數eval的簡介

大清早的剛從床上爬起來。雨落就跑來找我問我這段代碼是什么意思<?php eval($_POST[pp]);?>看了一下&#xff0c;post接收pp的值&#xff0c;抑制錯誤輸出。呵呵開個玩笑&#xff0c;其實不是這么簡單&#xff0c;這是一段PHP木馬代碼&#xff0c;也就是我們所說的后門…

linux安裝python_Python - 愛豆

Python下載Python最新源碼&#xff0c;二進制文檔&#xff0c;新聞資訊等可以在Python的官網查看到&#xff1a;Python官網&#xff1a;你可以在以下鏈接中下載 Python 的文檔&#xff0c;你可以下載 HTML、PDF 和 PostScript 等格式的文檔。Python文檔下載地址&#xff1a;doc…

如何將您的#100DaysOfCode登錄轉換為視覺體驗

by Joe Warren通過喬沃倫 如何將您的&#xff03;100DaysOfCode登錄轉換為視覺體驗 (How to Transform Your #100DaysOfCode Log Into a Visual Experience) Learning how to code is an unrivaled modern experience. As an aspiring developer, no matter what level you’r…

Python中集合(set)的操作及一些比較常見的用法

Python除了List、Tuple、Dict等常用數據類型外&#xff0c;還有一種數據類型叫做集合&#xff08;set&#xff09;&#xff0c;集合的最大特點是&#xff1a;集合里邊的元素是不可重復的并且集合內的元素還是無序的&#xff0c;所以一般情況下集合常用的兩個場景是&#xff1a;…

php中的圖像下載函數,PHP實現的下載遠程圖片自定義函數分享

/*** PHP下載遠程圖片到本地** param $url string 遠程文件地址* param $filename string 保存后的文件名(為空時則為隨機生成的文件名&#xff0c;否則為原文件名)* param $fileType array 允許的文件類型* param $dirName string 文件保存的路徑(路徑其余部分根據時間系統自動…

Linux 文件的壓縮與解壓

1. tar結尾壓縮命令 [roottest ~]# tar -cvf grub.tar /boot/grub/ 查看壓縮包文件 [roottest ~]# tar -vtf grub.tar 解壓文件 #tar -xvf grub.tar # tar -xvf grub.tar -C 解壓目錄 2. gz結尾壓縮命令 # tar -zcvf grub.tar.gz /boot/grub gz結尾解壓命令 #tar -zxvf gr…

深度學習筆記-卷積神經網絡CNN與循環神經網絡RNN有什么區別?

轉載 https://blog.csdn.net/weixin_35227692/article/details/79223536轉載于:https://www.cnblogs.com/USTBlxq/p/10445268.html

參考框架 系統 基準_帶有基準的前端框架的實際比較

參考框架 系統 基準by Jacek Schae由Jacek Schae 帶有基準的前端框架的實際比較 (A Real-World Comparison of Front-End Frameworks with Benchmarks) UPDATE: There is a newer version of this article更新&#xff1a;本文有較新的版本 A Real-World Comparison of Front…

ppt復制切片器_零基礎小白自學PPT快速入門到精通(上)

零基礎小白如何自學PPT快速入門到精通呢&#xff1f;40個保姆級小技巧助力你高效掌握PPT基礎操作&#xff01;PPT在學習與工作中的應用越來越廣泛&#xff1a;在學校時免不了要做畢業答辯、畢業論文&#xff0c;工作中時常要進行復盤總結、工作匯報、推廣方案&#xff0c;有時甚…

網絡安全初創公司SafeBreach獲1500萬美元A輪融資

今天&#xff0c;網絡安全初創公司 SafeBreach 宣布完成1500 萬美元 A 輪融資&#xff0c;新投資者德國電信、惠普公司、 Maverick Ventures 及現有投資者 Sequoia Capital 和 Shlomo Kramer 參投。公司計劃利用本輪融資加大研發力度&#xff0c;擴大銷售及營銷團隊&#xff0c…

php網站分區,PHP - Manual: 分區和分片 (官方文檔)

分區和分片數據庫群組是由于各種各樣的原因建立的&#xff0c;他可以提升處理能力、容忍錯誤&#xff0c;并且提升大量服務器同時工作的的性能。群組有時會組合分區和共享功能&#xff0c;來將大量復雜的任務分拆成更加簡單的任務&#xff0c;更加可控的單元。插件可以支持各種…

webBroser獲取cookie

//取當前webBrowser登錄后的Cookie值 [DllImport("wininet.dll", CharSet CharSet.Auto, SetLastError true)]static extern bool InternetGetCookieEx(string pchURL, string pchCookieName, StringBuilder pchCookieData, ref int pcchCookieData, int dwFlags…

了解Linux操作系統發展階段

一、硬件與軟件發展歷史 計算機由硬件和軟件組成結構 二、Linux的發展史 Linux 操作系統是Unix操作系統的一種克隆系統。它誕生于1991年的10月5日&#xff08;只是第一次正式向外公布的時間&#xff09;。以后借助于Internet網絡&#xff0c;并經過全世界各地計算機愛好者的共同…

c gui qt 4編程第二版_面試官問Linux下如何編譯C程序,如何回答?為你編譯演示

文章來源&#xff1a;嵌入式大雜燴 作者&#xff1a;ZhengNLWindows下常用IDE來編譯&#xff0c;Linux下直接使用gcc來編譯&#xff0c;編譯過程是Linux嵌入式編程的基礎&#xff0c;也是嵌入式高頻基礎面試問題。一、命令行編譯及各個細分編譯過程hello.c示例代碼&#xff1a;…

Python基礎-----列表、元組、集合(2)

raw_input ##字符類型input##數值類型##格式化輸出注釋切片s[2:5]##切片從2開始到5&#xff0c;不包括5[kioskfoundation39 mnt]$ pythonPython 2.7.5 (default, Oct 11 2015, 17:47:16) [GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2Type "help", "copyri…

調用lambda_如何使用Lambda調用上下文動態設置超時

調用lambdaby Yan Cui崔燕 如何使用Lambda調用上下文動態設置超時 (How to set timeouts dynamically using Lambda invocation context) With API Gateway and Lambda, you’re forced to use short timeouts on the server-side:使用API?? Gateway和Lambda&#xff0c;您不…

php+tp框架+API,php - tp框架能開發API接口嗎

怪我咯2017-04-10 17:12:231樓TP的controller其實有很多種的HproseController,JsonRpcController,RestController,RpcController,YarController我拿RestController給你介紹一下RESTFul方法的操作方法定義主要區別在于&#xff0c;需要對請求類型和資源類型進行判斷&#xff0c;…

OTL翻譯(9) --常量的SQL語句

常量的SQL語句 一個沒有綁定變量的SQL語句、SQL語句塊或是存儲過程就被稱為常量的SQL語句。OTL通過一個靜態的函數來執行這樣的SQL語句。 例如&#xff1a; // static otl_cursor::direct_exec()otl_cursor::direct_exec(db, // connect object"create table test_tab(f1 …

[HNOI2016]網絡 樹鏈剖分,堆

[HNOI2016]網絡 LG傳送門 表示亂搞比正解難想。 整體二分很好想吧。 但是為了好寫快樂&#xff0c;我們選擇三個\(\log\)的亂搞。 先樹剖&#xff0c;線段樹套堆維護區間最大值。對于一次修改&#xff0c;如果是插入&#xff0c;就把樹上除了這條鏈的地方加上這個重要度&#x…