初识Qt,几种写界面的方法

2023-11-04

1 我们可以直接在新建项目中选择Application中的Qt Widgets Application。此时Qt会为我们直接生成.ui文件,以及对应得.h头文件,.cpp源文件。那么我们需要做的就只是在ui的设计下添加一些我们想让界面拥有的东西。对应得代码会自动添加。Ctrll +S保存设置后,就可以运行了。

2下面我们可以通过手写一个简单的界面。在其他项目中选择Empty qmake Project项目。我们在main.cpp中写下如下代码

#include<QApplication>
#include<QDialog>
#include<QLabel>
int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    QDialog w;
    w.resize(400,300);//设置对话框的大小
    QLabel label(&w);
    label.move(120,120);//设置标签在对话框的位置
    label.setText(QObject::tr("Hello World!你好 Qt!"));//QObject::tr()函数实现多语言支持
    w.show();
    return a.exec();
}
QApplication对象用来管理应用程序的资源,每一个Qt Widgets程序都要有一个QApplication对象

QDialog用来实现一个对话框界面

QLabel将QDialog对象作为参数,表面在对话框中添加一个标签

运行即可出现与1相同的界面

3 我们一步一步自己添加文件实现1的效果

在2的项目基础性,添加.ui界面文件。添加完成后,就可以进入界面设计模式(一个重点就是要在右上角类列表中选择QDialog类对象,将其命名为HelloDialog)构建后会生成HelloDialog.h文件。下面是对这个文件的具体注解

#ifndef HELLODIALOG_H
#define HELLODIALOG_H
 
#include <QDialog>
 
namespace Ui {
class HelloDialog;//前置声明,bu需要完整定音的时候才可以前置声明
}
 
class HelloDialog : public QDialog
{
    Q_OBJECT//定义宏
 
public:
    explicit HelloDialog(QWidget *parent = 0);//显示构造函数
    ~HelloDialog();
 
private:
    Ui::HelloDialog *ui;
};
 
#endif // HELLODIALOG_H
 
 
#include "hellodialog.h"
#include "ui_hellodialog.h"
HelloDialog::HelloDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::HelloDialog)//创建Ui::HelloDialog对象
{
    ui->setupUi(this);//为现在这个类所代表的对话框创建界面
}
HelloDialog::~HelloDialog()
{
    delete ui;
}
#include "hellodialog.h"
#include <QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    HelloDialog w;
    w.show();
 
    return a.exec();
}
 



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

初识Qt,几种写界面的方法 的相关文章

  • C++:头文件中全局函数的多重定义错误

    该函数是全局的 在头文件中定义 暂时地我想把它留在那里 头文件还构成一个具有内联函数的特定类 其中一个函数调用this全局函数 源文件不包含任何有问题的全局函数 有关错误原因的任何提示吗 如果有人感兴趣的话我可以发布代码 mainwindo
  • 右键单击 QPushButton 上的 contextMenu

    对于我的应用程序 我在 Qt Designer 中创建了一个 GUI 并将其转换为 python 2 6 代码 关于一些QPushButton 与设计器创建 我想添加右键单击上下文菜单 菜单选项取决于应用程序状态 如何实现这样的上下文菜单
  • 如何搭建qtwayland?

    我花了一整天的时间尝试使用QtWayland Compositor 1 0在 Qt 创建者中 我已经遵循了从那里开始的所有步骤https wiki qt io QtWayland https wiki qt io QtWayland但我收到
  • 通过CMake实现Qt项目

    我正在尝试通过 Cmake 构建并运行非常简单且基本的 Qt 示例 删除 pro 文件 以下是Qt项目的代码 自动生成的Qt项目的目录结构为 Cmake my project name headers mainwindow h source
  • 如何通过 Qt 创建网络服务 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在qt中进行异步文件io?

    我想知道如何在qt中实现异步文件io 这在普通的 qt 中是否可以实现 或者有人需要使用另一个库 例如 libuv 来实现这样的事情 我正在查看 QDataStream 但即使它是一个 流 它也不是非阻塞的 我想一种解决方案是制作一个在内部
  • 加载 QPixmap 数据的更好方法

    更好的方法来做到这一点 没有QImage QImage image width height QImage Format RGB888 memcpy image bits m frameRGB gt data 0 height width
  • SWI-Prolog 与 C++ 接口的问题

    我试图让 SWI Prolog 与 C 很好地配合 现在束手无策 现在 在我开始准确解释我的问题是什么之前 我想首先说明我的项目是关于什么的以及我选择了哪些工具来开发解决方案 我的教授分配给我的任务是开发一个 GUI 程序 作为 SWI p
  • 无法将 QList 分配给 QString

    我遇到这个错误 Unable to assign QList
  • 如何在 Qt Creator 中编辑 QtWebKit 的右键上下文菜单?

    好吧 这是我的困境 我正在使用 Qt Creator 制作一个使用 Webkit 的简单应用程序 我认为 Qt Creator 会有一种简单的方法来使用信号和槽编辑器编辑右键单击上下文菜单 但事实证明这不是真的 我知道 webkit 有与上
  • Qt qDebug() 在 Windows shell 中不起作用

    我正在使用一个qDebug Qt 框架的printf屏幕上有东西 当我从 Qt Creator 运行应用程序时它工作得很好 但是当我尝试从 Windows 执行它时cmd它什么也没显示 为什么会发生这种情况 你必须添加 CONFIG con
  • QComboBox 下拉项边距

    我想设计我的风格QComboBox为下拉项目留出边距 现在是这样的 我想要这样的东西 我尝试过 QComboBox QAbstractItemView item margin 3px 但它不起作用 你能帮我解决这个问题吗 您想在项目之间设置
  • 在 QtCreator 中使用 .pro 和 .pri 正确(树)显示 Qt 项目

    是否可以使用项目包含文件 pri 显示不止一个额外级别 例如如果 pro文件包括 pri文件包含两个 pri files pro pri pri pri 在 QtCreator 项目 中显示具有误导性 pro pri pri pri 它根本
  • 完全彻底卸载QT Creator

    问题 如何从 Linux 机器上卸载 QT Creator 我的 Debian Jessie 机器上的安装已损坏 我尝试过重新安装 修复等 但没有成功 建议我完全卸载 获取最新版本并重新安装 问题是我不确定如何执行此操作 每次我尝试时 QT
  • QML 中可重用的字体属性[重复]

    这个问题在这里已经有答案了 在 QML 中 我希望能够定义一组字体属性以进行简单的语义重用 例如 代替 Text text This is a header font family Encode Sans weight Font Black
  • 如何在 Qt 应用程序中嵌入 Python 解释器?

    有没有一种简单的方法可以将 Python 解释器嵌入到 Qt 应用程序中 如果可能的话 我希望有一个跨平台的解决方案 这就是目的PythonQt http pythonqt sourceforge net 它支持 Windows Linux
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • 针对初学者的 QT 商业许可证与非商业许可证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 QT 许可似乎非常反学习 因为据我所知 用它开发的任何东西都只能是商业的当且仅当 its entire开发是在使用商业许可证的情况下完成的
  • 覆盖 QWebView 中的页面回复

    我试图在 Qt 的 QWebView 中拦截页面 表单请求 并在某些情况下使用替代内容进行响应 QNetworkReply ngcBrowser createRequest Operation operation const QNetwor
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这

随机推荐

  • 浅析多线程中的各种锁

    高并发的场景下 如果选对了合适的锁 则会大大提高系统的性能 否则性能会降低 所以 知道各种锁的开销 以及应用场景是很有必要的 文章目录 常用的各种锁 互斥锁与自旋锁 互斥锁 自旋锁 读写锁 乐观锁与悲观锁 本文小结 常用的各种锁 多线程访问
  • c++之观察者模式

    一 观察者模式 随着交通信号灯的变化 汽车的行为也随之而变化 一盏信号灯可以指挥多辆汽车 观察者模式是用于建立一种对象与对象之间的依赖关系 一个对象发生改变时将自动通知其他对象 其他对象将相应作出反应 在观察者模式中 发生改变的对象称为观察
  • [2023年综述]将CNN和Transformer优势相结合的混合模型在计算机视觉领域的研究综述

    目录 摘 要 关键词 1 引言 2 CNN简述 3 Transformer简述 3 1 引言 3 2 NLP领域的Transformer 3 3 CV领域的Vision Transformer 4 结合CNN与Transformer的常见方
  • 每日一题cf!

    Problem C Codeforces 题目大意 给你一个 序列 和一个操作 选择一个x 并且让所有等于x的数为0 问让这个序列变成非递减序列的最小操作次数是多少 思路 预处理 定义一个map q用来存每个数出现的最长到达的长度 p用来存
  • 英文字母的排序

    题目内容 编写一个程序 当输入英文字符串时 计算机将这个句子中的英文字母按字典字母顺序重新排列 排列后的单词的 长度要与原始句子中的长度相同 并且要求只对 到 的字母重新排列 其它字符保持原来的状态 输入描述 一个字符串 包括大写英文字母
  • 项目-CSDN博客导出工具.md

    CSDN博客批量导出工具 解决CSDN反爬虫问题 10 14 由于CSDN缘故 暂时不能使用 有空修复 9 27 更新介绍 2019 9 26 新的UI交互界面 解决由于文件名导致的无法写文件的问题 操作更加简便 可以选择下载 添加鼠标右击
  • arx 正向遍历 逆向遍历 database

    void AllDb AcDbBlockTable pBlkTbl acdbHostApplicationServices gt workingDatabase gt getBlockTable pBlkTbl AcDb kForRead
  • 在pandas模块中,读取CSV文件主要使用pd.read_csv()函数。

    在pandas模块中 读取CSV文件主要使用pd read csv 函数 必选参数 要读取的CSV文件的文件路径 常用的可选参数 1 指定行索引 index col 2 获取指定列 usecols 3 添加columns header No
  • C语言:链栈的基本操作

    关注作者 Aqu 蓝空 描述 利用链表对栈的将实现基本操作 入栈 出栈 打印 代码 include
  • Human Resource Machine 全成就通关 第41关

    HUMAN RESOURCE MACHINE PROGRAM COMMENT 0 a INBOX JUMPZ d COPYTO 24 b BUMPUP 24 JUMP a c COPYFROM 22 OUTBOX COPYFROM 24 C
  • 面试问到一个,让你写一下朋友圈点赞功能的测试用例!记录一下

    给你一个朋友圈点赞的功能 写出测试用例 UI 点击操作栏 是否正常弹出气泡 是否正常收回 是否流畅 样式是否与需求保持一致 未赞时 点击 点赞 样式变为已赞 已赞时 点击 取消 样式变为未赞 功能 给某一朋友的朋友圈进行点赞 检查接口 gt
  • QT串口 QSerialPort的使用与粘包处理

    1 在工程的pro文件中加入串口模块 QT serialport 2 添加头文件 include
  • CS231n——机器学习算法——线性分类(下:Softmax及其损失函数)

    在前两篇笔记中 基于线性分类上 线性分类中继续记笔记 1 Softmax分类器 SVM和Softmax分类器是最常用的两个分类器 Softmax的损失函数与SVM的损失函数不同 对于学习过二元逻辑回归分类器的读者来说 Softmax分类器就
  • Python就该这样学,我是如何2个月快速掌握Python的!学习大纲+学习方式+学习资料 汇总!

    一 学习建议 1 找到自己感兴趣的方向 并且结合市场需求进行选择 Python的应用范围 测试运维web人工智能大数据爬虫及数据分析办公自动化 2 学习过程中一定要勤加练习 并且尝试去使用学习过的内容实现一些简答的功能 遇到技术问题不要慌
  • vscode保存以后或者切换文件以后卡顿,代码提示卡顿

    主要原因 可能是因为你们装了这个扩展 导致vscode会对所有文件进行格式化 一般是开启了vscode保存快捷键格式化以后才会出现这个问题 解决方案 把这个快捷键改一下就好 一般问题是显示什么 正在启动格式化程序 然后每切换一个页面都要改一
  • 网络分析工具Wireshark Network Analyzer

    监听端口10001过滤设置 port 10001
  • go: 配置 vim 高亮插件

    在早期的 golang 源代码包里面是有 vim 插件的 但是呢 到了1 4的源码包的时候 就删除了 vim 插件 所以我们需要从 1 3 3 版本的代码中获得 vim配置 一 官网下载 可以从 golang 官网 Downloads Th
  • date到期(逾期)提醒的逻辑分析,例如快到一年提前一个月提醒

    需求 如快到一年时 提前一个月进行提醒 伪代码 create date x expire date 过期的肯定不用管 expire date m tip date tip date 就是提示开始的时间 所以这个sql大概应该这么写 crea
  • 解决由于已经达到 MaxReports 限制,没有写入 apport 报告的错误

    解决由于已经达到 MaxReports 限制 没有写入 apport 报告的错误 现将info文件夹更名 sudo mv var lib dpkg info var lib dpkg info old 再新建一个新的info文件夹 sudo
  • 初识Qt,几种写界面的方法

    1 我们可以直接在新建项目中选择Application中的Qt Widgets Application 此时Qt会为我们直接生成 ui文件 以及对应得 h头文件 cpp源文件 那么我们需要做的就只是在ui的设计下添加一些我们想让界面拥有的东