PtQt5 closeEvent 关闭事件,退出提示框

如果关闭QWidget,就会产生一个QCloseEvent,并且把它传入到closeEvent函数的event参数中。改变控件的默认行为,就是替换掉默认的事件处理。

原生的英文提示框:

    # 添加一个退出的提示事件
    def closeEvent(self, event):
        """我们创建了一个消息框,上面有俩按钮:Yes和No.第一个字符串显示在消息框的标题栏,第二个字符串显示在对话框,
                    第三个参数是消息框的俩按钮,最后一个参数是默认按钮,这个按钮是默认选中的。返回值在变量reply里。"""

        reply = QMessageBox.question(self, 'Message',"Are you sure to quit?",
                                     QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
        # 判断返回值,如果点击的是Yes按钮,我们就关闭组件和应用,否则就忽略关闭事件
        if reply == QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()

修改成中文样式:

    # 添加中文的确认退出提示框1
    def closeEvent(self, event):
        # 创建一个消息盒子(提示框)
        quitMsgBox = QMessageBox()
        # 设置提示框的标题
        quitMsgBox.setWindowTitle('确认提示')
        # 设置提示框的内容
        quitMsgBox.setText('你确认退出吗?')
        # 设置按钮标准,一个yes一个no
        quitMsgBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
        # 获取两个按钮并且修改显示文本
        buttonY = quitMsgBox.button(QMessageBox.Yes)
        buttonY.setText('确定')
        buttonN = quitMsgBox.button(QMessageBox.No)
        buttonN.setText('取消')
        quitMsgBox.exec_()
        # 判断返回值,如果点击的是Yes按钮,我们就关闭组件和应用,否则就忽略关闭事件
        if quitMsgBox.clickedButton() == buttonY:
            event.accept()
        else:
            event.ignore()

    # 添加中文的退出提示框2
    def closeEvent(self, event):
        # 创建一个消息盒子(提示框)
        quitMsgBox = QMessageBox()
        # 设置提示框的标题
        quitMsgBox.setWindowTitle('确认窗口')
        # 设置提示框的内容
        quitMsgBox.setText('你确定退出吗?')
        # 创建两个点击的按钮,修改文本显示内容
        buttonY = QPushButton('确定')
        buttonN = QPushButton('取消')
        # 将两个按钮加到这个消息盒子中去,并指定yes和no的功能
        quitMsgBox.addButton(buttonY, QMessageBox.YesRole)
        quitMsgBox.addButton(buttonN, QMessageBox.NoRole)
        quitMsgBox.exec_()
        # 判断返回值,如果点击的是Yes按钮,我们就关闭组件和应用,否则就忽略关闭事件
        if quitMsgBox.clickedButton() == buttonY:
            event.accept()
        else:
            event.ignore()

原文地址:https://www.cnblogs.com/milesma/p/12149176.html

时间: 2024-08-03 01:04:55

PtQt5 closeEvent 关闭事件,退出提示框的相关文章

Android 退出提示框 代码

转自:http://hi.baidu.com/ittdt/item/d932cf37f486f886c3cf29ea new AlertDialog.Builder(MainEngine.context)    //.setTitle("提示")    .setMessage("确定要退出游戏吗?")    .setPositiveButton("确定", new DialogInterface.OnClickListener() {     @

Android 自定义AlertDialog(退出提示框)

有时候我们需要在游戏或应用中用一些符合我们样式的提示框(AlertDialog) 以下是我在开发一个小游戏中总结出来的.希望对大家有用. 先上效果图: 下面是用到的背景图或按钮的图片 经过查找资料和参考了一下例子后才知道,要实现这种效果很简单.就是在设置alertDialog的contentView. 以下的代码是写在Activity下的,代码如下: public boolean onKeyDown(int keyCode, KeyEvent event) { // 如果是返回键,直接返回到桌面

Android基础TOP4_1:点击物理按钮弹出退出提示框

JAVA: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //点击物理按钮时,执行退出提示 public boolean onKeyDown(int keyCode,KeyE

Android 按手机返回键退出时出现退出提示框

1 private void exitDialog() { 2 Dialog dialog = new AlertDialog.Builder(this).setIcon(R.drawable.pic_m) 3 .setTitle("程序退出? ").setMessage("您确定要退出本程序吗?") 4 5 .setNegativeButton("取消", new DialogInterface.OnClickListener() { 6 pu

Android使用自定义AlertDialog(退出提示框)

http://www.cnblogs.com/511mr/archive/2011/10/21/2220253.html

从仿QQ消息提示框来谈弹出式对话框

<代码里的世界> -UI篇 用文字札记描绘自己 android学习之路 转载请保留出处 by Qiao http://blog.csdn.net/qiaoidea/article/details/45896477 [导航] - 自定义弹出式对话框的简单用法 列举各种常见的对话框实现方案 1.概述 android原生控件向来以丑著称(新推出的Material Design当另说),因此几乎所有的应用都会特殊定制自己的UI样式.而其中弹出式提示框的定制尤为常见,本篇我们将从模仿QQ退出提示框来看一

解决input中智能提示框onblur与onclick冲突的问题

背景: 制作一个类似百度输入法的智能提示框, 其中当关键词输入进来时,会有智能提示展开,实际需求是当点击智能提示框的汉字时,输入框中自动补全并关闭智能提示, 当点击其他区域时,智能提示框自动隐藏,如下所示: 分析:点击用onclick事件触发获取的值,然后点击外框用失去焦点的方式解决 但实际出现效果是: 如果添加了失去焦点的方法,点击提示文本的时候,文字也会因为输入框失去焦点而被隐藏,以至于文字无法被选中上去: 问题出现时用方法如下: //oA是智能提示框的列表中的单个文字 oA.onclick

unity实现二次退出提示

//实际项目中可以直接用GUI插件做个退出提示框.美观又和谐. public float uTime = 2; void OnGUI() {    if (uTime < 2) {   GUI.Label(new Rect(Screen.width/2-50,Screen.height/2-50,100,40),"再按一次退出");   uTime -= Time.deltaTime;   if (uTime < 0) {   uTime = 2; } if (Input.

点击HTML页面问号出现提示框

本demo的功能:点击页面按钮在其边缘出现提示信息,点击页面任何一处则消失. 如下图: 1.所需插件: jquery插件: layer插件: 2.HTML内容: ==注意==: class="j-help-tips"这个class是核心,不可缺少. data-tips属性是必须的. data-tips属性中:type:"1"不用修改: data-tips属性中:txt内容即是要提示的内容. <html> <head> <link rel