Qt 在菜单项单击上显示模式对话框(.ui)

2024-02-11

我想制作一个简单的“关于”模式对话框,从“帮助”->“关于应用程序”菜单调用。我已经使用 QT Creator (.ui 文件)创建了一个模式对话框窗口。

菜单“关于”槽中应包含什么代码?

现在我有了这段代码,但它显示了一个新的模式对话框(不是基于我的 about.ui):

void MainWindow::on_actionAbout_triggered()
{
    about = new QDialog(0,0);
    about->show();
}

Thanks!


您需要使用您的 UI 设置对话框.ui文件。 Qtuic编译器从你的文件中生成一个头文件.ui您需要包含在代码中的文件。假设你的.ui文件被称为about.ui,并且该对话框被命名为About, then uic创建文件ui_about.h,包含一个类Ui_About。设置 UI 的方法有多种,最简单的方法是

#include "ui_about.h"

...

void MainWindow::on_actionAbout_triggered()
{
    about = new QDialog(0,0);

    Ui_About aboutUi;
    aboutUi.setupUi(about);

    about->show();
}

更好的方法是使用继承,因为它更好地封装了对话框,以便您可以在子类中实现特定于特定对话框的任何功能:

关于Dialog.h:

#include <QDialog>
#include "ui_about.h"

class AboutDialog : public QDialog, public Ui::About {
    Q_OBJECT

public:
    AboutDialog( QWidget * parent = 0);
};

关于Dialog.cpp:

AboutDialog::AboutDialog( QWidget * parent) : QDialog(parent) {

    setupUi(this);

    // perform additional setup here ...
}

Usage:

#include "AboutDialog.h"

...

void MainWindow::on_actionAbout_triggered() {
    about = new AboutDialog(this);
    about->show();
}

无论如何,重要的代码是调用setupUi() method.

BTW:上面代码中的对话框是非模式的。要显示模式对话框,请设置windowModality对话框的标志Qt::ApplicationModal or use exec()代替show().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt 在菜单项单击上显示模式对话框(.ui) 的相关文章

  • fopen_s 怎么会比 fopen 更安全呢?

    我正在处理遗留代码Windows平台 当我编译代码时VS2013 它给出以下警告 错误 C4996 fopen 该函数或变量可能不安全 考虑使用fopen s反而 要禁用弃用 请使用 CRT SECURE NO WARNINGS 详情请参见
  • 为什么我会收到未找到分析器的警告?

    我创建了一个玩具项目来检查最新的 NET 7 预览版 5 和正则表达式代码生成 它效果很好 所以我对现有项目应用了相同的更改 不是为了生产 而是为了个人生产力 由于某种原因 我收到这些警告 CS8032 An instance of ana
  • 使用 Json.NET 序列化子类

    我正在尝试使用 Json NET 序列化子类 生成的 json 包含超类的序列化属性 但是not子类对象的属性 这似乎与我发现的一个问题有关这里就这样 https stackoverflow com q 5863496 498969 但必须
  • .crt 部分?这个警告是什么意思?

    我最近收到此警告 VC 2010 warning LNK4210 CRT section exists there may be unhandled static initializers or terminators 我假设这是关键部分
  • 最新 .Net MongoDb.Driver 的连接问题

    我创建了一个 MongoLab 沙箱数据库 我与 MongoChef 连接 效果很好 我通过 Nuget 安装了 MongoDB Driver 2 2 2 我编写了一些简单的 C 演示代码 但就是无法使其工作 连接字符串是直接从 Mongo
  • 警告 C4800:“int”:强制值为 bool“true”或“false”(性能警告)

    我的代码中有这个问题 bool CBase isNumber return id MID NUMBER bool CBase isVar return id MID VARIABLE bool CBase isSymbol return i
  • Visual Studio 中列表框的上移、下移按钮[重复]

    这个问题在这里已经有答案了 我正在尝试制作一个上移按钮和一个下移按钮 以移动 Microsoft Visual Studio 2012 中列表框中的选定项目 我已经在 WDF jquery winforms 和其他一些表单中看到了其他示例
  • 如何减少 MinGW g++ 编译器生成的可执行文件的大小?

    我有一个简单的 Hello world C 程序 在 Win XP 下由 MinGW g 编译器编译为 500kB 可执行文件 有人说这是由于iostream的库和静态链接libstdc dll Using s链接器选项有点帮助 减少了 5
  • 控制台应用程序中使用 Unicode 字符的 _tprintf

    我正在从 Unicode 构建的控制台应用程序 使用 C 和 Visual Studio 2008 执行这个简单的输出 此代码旨在在 Windows 上运行 tprintf L Some sample string n 一切正常 但是如果我
  • .NET 5 EF Core SaveChangesAsync 因错误而挂起

    尽管这个问题有很多结果 但没有一个真正给我明确的答案 每次我尝试通过 AddAsync 和 SaveChangesAsync 方法插入错误数据 例如重复的主键 时 我都会看到以下日志 执行 DbCommand 失败 15 毫秒 我还在 SQ
  • C# 枚举到字符串自动转换?

    是否可以让编译器自动将我的 Enum 值转换为字符串 这样我就可以避免每次都显式调用 ToString 方法 这是我想做的一个例子 enum Rank A B C Rank myRank Rank A string myString Ran
  • 如何构建一棵与或树?

    我需要一个支持 与 和 或 的树结构 例如 给定一个正则表达式 如ab c d e 我想把它变成一棵树 所以 一开始我们有两个 或 分支 它可以向下ab or c d e 如果你低头ab分支 你得到两个节点 a and b or a其次是b
  • 使用数据绑定,如何将包含表情符号的文本绑定到标签并使其正确显示?

    我正在编写一个应用程序来连接 WordPress BuddyPress API 该应用程序将允许用户通过 API 相互发送消息 当这些消息包含表情符号时 我很难正确显示它们 以下是 API 返回的消息文本的简短示例 Hi x1f642 ho
  • 如何在 Qt simple 上解密/加密某些字符串(例如密码)

    这是我得到的 Qt SDK版本4 6 2 视窗XP 问题 我怎样才能简单地加密和简单地加密QString价值 我需要它能够将一些加密的字符串保存到 INI 文件中 并在重新打开应用程序后将字符串加密为正常的密码字符串值 PS 我正在寻找简单
  • 传递数组时在 C 中的函数参数中强制指定数组大小

    Context 在 C 中 我有一个以数组作为参数的函数 该参数用作该函数的输出 输出的大小始终相同 我会 让阅读代码的人清楚所需的大小 不过它已经在函数注释中了 理想情况下 编译会输出警告或错误 这样我就可以在编译时而不是运行时防止出现问
  • 连接到没有元数据的网络服务

    我想连接到此网络服务 https training api temando com schema 2009 06 server wsdl https training api temando com schema 2009 06 serve
  • 如何从 Access 数据库中读取“是/否”值作为布尔值?

    帮我找回YES NO来自 MS Access 的布尔格式数据类型 我尝试解析它 但它总是返回 false 更新 实际上不是问题抱歉 它确实接受 YES NO 作为布尔值 OleDbconnection dbConnect new OleDb
  • Xcode 7 调试器不会中断内联标头函数

    过去五年我一直在各种 C 项目中使用 Xcode 没有出现这个问题 今天 我打开了一个较旧的项目 大约 2 年前 并尝试通过在该函数中放置一个活动断点来调试头文件中的内联函数 由于某种原因 调试器不会中断此代码 但是 如果我在调用该函数的
  • 使用多态对象数组进行 JSON 反序列化

    我在涉及多态对象数组的 JSON 反序列化方面遇到问题 我已经尝试过记录的序列化解决方案here https stackoverflow com questions 5186973 json serialization of array w
  • 实体框架代码首次日期字段创建

    我正在使用实体框架代码优先方法来创建我的数据库表 下面的代码 创建一个DATETIME数据库中的列 但我想创建一个DATE柱子 DataType DataType Date DisplayFormatAttribute ApplyForma

随机推荐

  • 识别 C# 列表中的唯一值

    我创建了一个类 如下所示 来表示复合主键模型 public class PrimaryKeyModel public string ColumnName get set public string ColumnValue get set p
  • Vega-lite:轴中标签的换行或自动换行

    我试图将 x 轴的标签包裹在下一行 因为标签长度很长 那么有没有什么办法可以实现呢 我尝试使用calculate and labelExpr通过破坏标签字符串 然后使用 n 连接它们 但这似乎不起作用 是否有任何其他配置可以帮助我实现此用例
  • 如何在Python中加入MongoDB集合?

    如何在 Python 中连接 在 SQL 的 INNER JOIN 意义上 两个 MongoDB 集合 我是否需要使用本机映射 减少 JavaScript 代码或在 PyMongo 中执行此操作 如何用更少的代码解决这个问题 Mongo 存
  • UWP 项目不支持触发器元素 (XAML)

    我正在为 Windows 10 开发通用 Windows 应用程序 我发现的第一件事是在设置图像样式时不支持触发器元素 XAML 这是我试图实现的代码 抱歉 我必须在这里使用图像 我是从我的虚拟机获取它的 这种类型的触发器现在如何在通用 W
  • 访问 Flask 中传入的 POST 数据

    这是烧瓶代码 from flask import Flask request import json app Flask name app route methods GET POST def refresh params thing1 r
  • 如何阻止 iOS 启动图像在 Phonegap / Sencha Touch 中向上移动

    我有一个 Sencha Touch 1 1 Phonegap 1 3 应用程序 并且有一个根据 iOS 文档调整大小的纵向和横向启动图像 当应用程序首次启动时 两个启动图像都正确定位 显示加载旋转器后 启动图像会垂直移动少量 在屏幕底部留下
  • Boost::Asio:为什么 async_write 在通过给定套接字发送缓冲区时会截断缓冲区?

    我目前正在尝试设计一个相当简单的boost asio服务器 我的第一个单元测试相当简单 发送 JSON 请求 COMMAND ADD 1 VALUE 1 并收到以下回复 SUCCESS true VALUE 2 然而 相反 回复在被截断后被
  • 引起原因:java.sql.SQLException:用户“root”@“localhost”访问被拒绝(使用密码:YES)

    当我尝试运行该应用程序时 出现以下错误 见下文 已经尝试过类似主题上发布的解决方案 Exception in thread main org springframework jdbc CannotGetJdbcConnectionExcep
  • 在 R 数据框中创建所有可能的列排列

    我有一个看起来像这样的 df code 1 code 2 code 3 code 4 1 82 93 NA NA 2 15 85 93 NA 3 93 89 NA NA 4 81 NA NA NA 我想生成一个新的 df 它包含所有可能的列
  • 在 Go 中创建迭代器最惯用的方法是什么?

    一种选择是使用渠道 通道在某种程度上就像迭代器 您可以使用 range 关键字迭代它们 但是当你发现你无法在不泄漏 goroutine 的情况下跳出这个循环时 使用就会受到限制 在 Go 中创建迭代器模式的惯用方法是什么 Edit 渠道的根
  • 为什么 Grails 中唯一约束字段更新失败

    当我在域类中映射自定义身份属性时 为什么 hibernate 要检查唯一约束 当我更新对象时 尽管发布的字段值与数据库中存储的值相同 但验证失败 即使我没有对表单进行任何更改 确保 dirty false 并且没有属性绑定错误 也会发生这种
  • SqlDependency 与 SqlCacheDependency

    它们之间的主要区别是什么以及何时应该使用它们 我最初的理解是 SqlCacheDependency 使用轮询 但我读到它对于 ASP NET 2 0 也没有 我想知道哪个最适合在 ASP NET Web 服务器下缓存 linq 查询 这将是
  • 在后台接收推送通知

    我知道很多地方都涉及到这一点 但我无法弄清楚 我使用 Urban Airship 来推送通知 一切似乎都很好 除了当我的应用程序在后台时 didReceiveRemoteNotification没有接到电话 它在前台运行 我能够正确处理消息
  • Echo PHP 变量作为输入字段的值[重复]

    这个问题在这里已经有答案了 我有一个带有多个输入标签的简单 HTML 表单 在页面加载时 我向表单提供数据以回显数据库中字段的当前值 然后用户可以修改这些值并再次提交以执行更新
  • 使用 Lodash 或 Underscore 按多列对对象进行分组

    我有以下对象records notes id 1 description hey userId 2 replyToId null postId 2 parentId null id 5 description hey test userId
  • 线程“main”java.net.ConnectException中出现异常:连接被拒绝:连接[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 如何彻底卸载Visual Studio 2010?

    我一直在寻找一个干净的解决方案来完全并最终从我的计算机中删除 Visual Studio 2010 当您安装 Visual Studio 时 它还会在 添加 删除程序 面板中安装一堆程序 大约 55 个 appwiz cpl 我已经尝试过微
  • ABPeoplePickerNavigationController 随着 iOS8 的变化?

    由于我已将 iPhone 上的 XCode 6 0 6A313 和 iOS 8 0 12A365 更新为 gm 种子 因此 ABPeoplePickerNavigationController 代码无法像以前一样工作 iOS 7 1 2 如
  • AWS Step Functions 与 Luigi 的编排对比

    我的团队有一个针对小型项目的整体服务 但为了重新架构和扩展 我们计划迁移到 Amazon AWS 的云服务 并评估编排是否将 Luigi 作为容器任务运行或使用 AWS Step Functions 我对他们中的任何一个都没有任何经验 尤其
  • Qt 在菜单项单击上显示模式对话框(.ui)

    我想制作一个简单的 关于 模式对话框 从 帮助 gt 关于应用程序 菜单调用 我已经使用 QT Creator ui 文件 创建了一个模式对话框窗口 菜单 关于 槽中应包含什么代码 现在我有了这段代码 但它显示了一个新的模式对话框 不是基于