自动关闭QMessageBox

2023-11-22

我正在构建一个 Qt Symbian 项目,我想向用户显示一条通知,该通知应在几秒钟后自动关闭。我看到诺基亚在他们的用户界面中经常使用这个。

现在我正在使用下面的代码,以便用户可以关闭 QMessageBox,但如果可以在 1 或 2 秒后自动关闭 QMessageBox,我希望它。我如何使用 Qt 来做到这一点?

QMessageBox msgBox;
msgBox.setText("Hello!");
msgBox.setIcon(QMessageBox::Information);
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.exec();

真的非常感谢!我的解决方案:

我创建了自己的类(MessageBox),这是我用于显示它的代码:

MessageBox msgBox;
msgBox.setText("Hello!");
msgBox.setIcon(QMessageBox::Information);
msgBox.setStandardButtons(QMessageBox::Ok);
msgBox.setAutoClose(true);
msgBox.setTimeout(3); //Closes after three seconds
msgBox.exec();

这是我的课:

class MessageBox : public QMessageBox

int timeout;
bool autoClose;
int currentTime;

void MessageBox::showEvent ( QShowEvent * event ) {
    currentTime = 0;
    if (autoClose) {
    this->startTimer(1000);
    }
}

void MessageBox::timerEvent(QTimerEvent *event)
{
    currentTime++;
    if (currentTime>=timeout) {
    this->done(0);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动关闭QMessageBox 的相关文章

  • 当 QML 对象不可见时防止 QML 属性绑定?

    我正在开发一个具有大量属性绑定的 QML 应用程序 数百个对象被跟踪并以不同的形式显示 例如 Qt3D QCanvas 当我在应用程序的单独页面上时 x y 位置和相对大小的属性绑定仍在发生 我怎样才能阻止他们 我知道我可以根据属性是否可视
  • GoQt 致命错误:QAbstractAnimation:没有这样的文件或目录

    我尝试编译 Qt 来开发桌面应用程序 我按照 Qt 网站上的官方 wiki 指南的说明进行操作 当我尝试go run示例文件夹中的示例 我收到错误 去运行 home pinkya rabbit workspace go1programs s
  • Qt - 如何粘合两个窗口并将它们移动在一起?

    就像qmmp Qt 音乐播放器ui设计一样 这两个或三个窗口实际上在同一个窗口中 因为只有一个dock图标 并且这些窗口可以一起移动并相互附着 我看了源码 好像有用QDockWidget 但我真的不知道如何获得它的细节 当您手动移动辅助窗口
  • 禁用 QML Slider 的鼠标滚轮

    我希望能够滚动Flickable使用鼠标滚轮 或触摸板上的两根手指 不改变Sliders它可能包含 示例代码及结果应用 import QtQuick 2 7 import QtQuick Window 2 2 import QtQuick
  • 在 Qt5 中,是否需要 Q_INVOKABLE 来从 QML 调用公共 QObject 函数?

    我刚刚意识到我可以调用暴露于 QML 的对象的几乎任何函数 现在我对 Q INVOKABLE 很好奇 Qt5docs http doc qt io qt 5 qtqml cppintegration exposecppattributes
  • 如何将图像显示为缩略图

    我有一个QTreeView显示硬盘驱动器和目录 我也有一个QListView显示图像文件如下 但我想将图像显示为缩略图 如下所示 My code mainWidget mainWidget QWidget parent QWidget pa
  • 如何在 QTabWidget Qt 中展开选项卡

    我有一个QTabWidget像这个 但我想展开选项卡以 填充 整个小部件宽度 如下所示 我怎样才能做到这一点 我在用Qt 5 3 2 and Qt 创建者 3 2 1 Update 我尝试使用setExpanding功能 ui gt myT
  • 退出 Qt 程序的正确方法?

    我应该如何退出 Qt 程序 例如在加载数据文件时 发现文件损坏 并且用户需要退出该应用程序或重新启动数据文件 我是不是该 call exit EXIT FAILURE call QApplication quit call QCoreApp
  • Qt:测量事件处理时间

    我想测量我的应用程序中的哪些事件在主线程中需要很长时间才能执行 阻塞 GUI 或者至少是否有任何事件花费的时间超过 比如说 10 毫秒 显然 我对需要很长时间的任务使用线程和并发 但有时很难在其他线程中放入的内容和可以保留在 GUI 中的内
  • 在 MacOS 终端上运行 ffmpeg [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我对 MacOS 相当陌生 我发现使用终端来获取信息并不容易ffmpeg和我在 Window 上一样正常运行 我有 ffmpeg 二进制文件ffmpe
  • Qt 插槽是否与其他代码并行运行?

    在此函数示例中 void MyClass myFunction emit MySignal1 emit MySignal2 如果我有slot1倾听MySignal1 and slot2倾听MySignal2 1 Is slot1总是会在之前
  • 将 gnuplot 嵌入现有 QtWidget 中

    我正在用 C 创建一个 伪 实时绘图应用程序 使用 gnuplot 作为绘图后端 我的要求之一是绘图必须位于现有窗口内 而不是有一个单独的绘图窗口 gnuplot 默认为 Gnuplot 有一个选项可以指定 Qt 小部件 ID 这似乎适合我
  • 无法在带有 QSortFilterProxyModel 的 QTreeView 的点击信号中使用 itemFromIndex

    我有一个 QTreeView 在视图和 QStandardItemModel 之间有一个 QSortFilterProxyModel 来对树进行排序 然后我想通过 clicked 信号对视图中的点击进行操作 模型 视图的设置类似于 mymo
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • QML 连接:不推荐使用连接中隐式定义的 onFoo 属性

    升级到 Qt 5 15 时收到以下错误消息 QML Connections Implicitly defined onFoo properties in Connections are deprecated Use this syntax
  • Qt moc 在头文件中实现?

    是否可以告诉 Qt MOC 我想声明该类并在单个文件中实现它 而不是将它们拆分为 h 和 cpp 文件 如果要在 cpp 文件中声明并实现 QObject 子类 则必须手动包含 moc 文件 例如 文件main cpp struct Sub
  • Qt 5.3 无法使 QCompass (QSensor) 在 Windows 8.1 上工作

    我无法让传感器在我的 Asus Transformer T100 上工作 磁力计和指南针无法启动 并且我从加速度计获得假值 始终 x 0 y 9 8 z 0 即使使用我的笔记本电脑 我总是得到相同的结果 第一段文字编辑 Initialisa
  • Qt - 获取互联网上托管的网页的源代码(HTML 代码)

    我想获取网页的源代码 HTML 例如StackOverflow的主页 这是我到目前为止编写的代码 QNetworkAccessManager manager QNetworkReply response manager get QNetwo
  • 如何将 zlib 添加到现有的 qt 安装中

    如何将 zlib 添加到 Qt 的现有安装中 我对此很陌生 所以请给我详细的描述 提前感谢您的帮助 zlib 包含在 Qt 核心库中 如果你想在 Qt 程序中使用 zlib 函数 你只需要包含 src 3rdparty zlib 中的 zl
  • 为什么 QGraphicsWidget 的选择边框在 QGraphicsScene 中不可见?

    我已经通过一个小部件添加到图形场景 QGraphicSscene QGraphicsProxyWidget 问题是 当我选择该项目时 它被选中 但选择边框不可见 这是代码 QDial dial new QDial Widget dial g

随机推荐

  • CSS,覆盖所有选择下拉菜单的高度?

    我将如何引用 以便我可以覆盖所有选择框 以便我可以覆盖默认高度 当我使用类创建元素时我很熟悉 但我对此不确定 100 JS 解决方案 使用 jquery select height 120px 100 JS 解决方案 无 jquery va
  • 捕获组字符数限制

    假设我有这样的文字 AAAA1 AAA11 AA111AA A1111 AAAAA AAAA1111 我想找到所有符合这 3 个条件的事件 大写字母 1 至 4 次 数字1到4次 最大字符数为 5 所以比赛将是 AAAA1 AAA11 AA
  • 将数据流管道的输出写入分区目标

    我们有一个流事件源 每秒有数千个事件 这些事件都标有一个 ID 用于标识该事件属于我们数以万计的客户中的哪一个 我们希望使用此事件源来填充数据仓库 在流模式下 但是 我们的事件源不是持久的 因此我们还希望将原始数据存档在 GCS 中 以便我
  • HTML5 Canvas 使黑色透明

    我有大量黑色背景的图像 例如 是否有可能通过Javascript忽略黑色 000000 并将其绘制在画布上 出现这样的情况 基本上是尝试获取黑色像素并使其成为 Alpha 通道 因此 您需要遍历所有像素并更改所有黑色像素的 alpha 值
  • Java.util.scanner 错误处理

    我正在帮助一个朋友解决java问题 然而 我们遇到了障碍 我们使用 Java Util Scanner nextInt 从用户那里获取一个号码 不断询问用户是否提供了其他信息 唯一的问题是 我们不知道如何进行错误处理 我们尝试过的 do i
  • 使用 Google 广告通过 PhoneGap 应用获利(使用 PhoneGap Build 构建)

    在 AdMob 上 有不再有 HTML5 应用程序的选项 以及 AdSense 移动应用 甚至是基于 webview 的应用 明确提及 被禁止 如何使用 Google 广告通过 PhoneGap 应用 使用 PhoneGap Build 构
  • 未捕获的引用错误:尝试在 Chrome 中的另一个 Worker 中创建 Worker 时未定义 Worker

    This link says 如果工人们愿意的话 他们可以产生更多的工人们 所谓的副工 必须与父页面托管在同一源中 另外 子工作人员的 URI 是相对于父工作人员的 URI 进行解析的 位置而不是所属页面的位置 这使得更容易 工作人员跟踪他
  • 缩放 matplotlib 中的插图,无需重新绘制数据

    我正在处理一些 matplotlib 图 需要有一个缩放的插图 这是可能的zoomed inset axes来自axes grid1工具包 参见示例here import matplotlib pyplot as plt from mpl
  • 高效交易,记录锁定

    我有一个存储过程 它选择 1 条记录 可以从不同 PC 上的多个不同应用程序调用存储过程 这个想法是 存储过程带回需要处理的下一条记录 如果两个应用程序同时调用存储过程 则不应带回同一条记录 我的查询如下 我正在尝试尽可能高效地编写查询 s
  • 如何在 JavaFX 中添加 UTF-8 以实现非英语支持?

    我想在 JavaFX 中添加 UTF 8 波斯语字符 但是当我添加带有波斯语内容的标签时 它会显示一些奇怪的结果 我是否必须使用特定的插件或配置来处理此问题 波斯语是从右到左吗 在这种情况下 您希望使用 JavaFX 版本RTL 支持 那就
  • AddFavorite JS 不适用于 chrome

    我正在开发一个带有书签功能的网站 我正在使用这个功能window external AddFavorite location href document title 对于 chrome 和 IE 它在 IE 中工作正常 但对于 chrome
  • C# .Net 4.5 PropertyGrid:如何隐藏属性

    问题很简单 我希望这有一个简单的解决方案 我想在属性 Element 在我的 PropertyGrid 对象中 为零时隐藏 Browsable false public class Question public int Element g
  • 无法使用 go 和 docker 连接到 mysql 服务器 - 拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝

    我在我的 Mac 上安装了 Mysql 社区服务器 它已设置并正在运行 我可以使用 Navicat for MySQL 在 localhost 3306 上连接到它 但是 每当我尝试从使用 docker compose 运行的 go 应用程
  • 将项目添加到 Endless Scroll RecyclerView 中,进度条位于底部

    我遵循 Vilen 对 SO 的出色回答 将不确定的进度条作为 RecyclerView 网格中的页脚关于如何使用 ProgressBar 实现无限滚动回收器视图 我自己实现了它并且它有效 但我想扩展这个例子 我想在 recyclervie
  • 如何使用 HttpsUrlConnection 代替 DefaultHttpClient

    DefaultHttpClient ThreadSafeClientConnManager HttpParams HttpProtocolParams SchemeRegistry SSLSocketFactory NameValuePai
  • 解决 PermGen 问题的各种选项

    我正在研究 Java 6 18 VM 上垃圾收集的各种选项 并且想要一些指导 我们在 JBoss 上运行应用程序 在重新部署期间偶尔会出现臭名昭著的 PermGen 错误 互联网上有很多关于解决或缓解此问题的最佳方法的相互矛盾和过时的信息
  • Facebook 错误“应用程序未设置:仍处于开发模式”

    我知道已经有很多与此相关的问题 但我找不到一个可以准确回答我当前问题的问题 实际上 2 天前 我的应用程序完美运行 Facebook 登录和注册 但现在它显示以下错误 我已经完成了所有必需的步骤 并且运行完美 登录 Facebook 开发者
  • Kestrel服务器:如何将不同的端口绑定到不同的控制器?

    Kestrel 有没有办法监听 2 个端口 例如80和81 并为每个端口指定不同的控制器 我遇到的情况是 有 2 个控制器 一个用于需要基于令牌的身份验证的最终用户请求 另一个控制器用于基于机器的代理 我想在其中强制执行基于客户端证书的身份
  • iOS 后台视频合并

    Task 将传单图像合并到传单视频中 Cases 创建传单 添加表情图像 文本 等 创建视频 Case1 按后退按钮 用户将转到传单屏幕的应用程序列表 在此期间我们将 FlyerSnapShoot 合并到 FlyerVideo and它工作
  • 自动关闭QMessageBox

    我正在构建一个 Qt Symbian 项目 我想向用户显示一条通知 该通知应在几秒钟后自动关闭 我看到诺基亚在他们的用户界面中经常使用这个 现在我正在使用下面的代码 以便用户可以关闭 QMessageBox 但如果可以在 1 或 2 秒后自