.ui文件相关

news/2024/2/29 2:50:27

目录

ui类生成过程:

提问:


等以后自己熟练了用代码写这些样式内容,尽量用代码写,原因很简单:

用代码写的可以直接修改代码,但是在设计界面修改的东西,电脑没有QC这玩意,还真不好改。就算会XML语法也还要顾及构建的问题。

ui类生成过程:

在创建项目的时候可以选择是否生成.ui文件,一般勾选生成。

找到相应的类的实现模块:

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);ui->pushButton_no->setText("hao");
}Widget::~Widget()
{delete ui;
}

其实可以看到,.ui文件在这里就作为了一个初始化列表项的存在。

既然能够new,那么就是一个类。

QC在创建项目后的初步构建就会形成build文件夹,在这个文件夹里就能找到对应的ui的.h文件。

在QC中打开:

/********************************************************************************
** Form generated from reading UI file 'widget.ui'
**
** Created by: Qt User Interface Compiler version 5.15.2
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/#ifndef UI_WIDGET_H
#define UI_WIDGET_H#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QWidget>QT_BEGIN_NAMESPACEclass Ui_Widget
{
public:QPushButton *pushButton_yes;QPushButton *pushButton_no;void setupUi(QWidget *Widget){if (Widget->objectName().isEmpty())Widget->setObjectName(QString::fromUtf8("Widget"));Widget->resize(800, 600);pushButton_yes = new QPushButton(Widget);pushButton_yes->setObjectName(QString::fromUtf8("pushButton_yes"));pushButton_yes->setGeometry(QRect(110, 140, 75, 23));pushButton_no = new QPushButton(Widget);pushButton_no->setObjectName(QString::fromUtf8("pushButton_no"));pushButton_no->setGeometry(QRect(210, 140, 75, 23));retranslateUi(Widget);QMetaObject::connectSlotsByName(Widget);} // setupUivoid retranslateUi(QWidget *Widget){Widget->setWindowTitle(QCoreApplication::translate("Widget", "Widget", nullptr));pushButton_yes->setText(QCoreApplication::translate("Widget", "yes", nullptr));pushButton_no->setText(QCoreApplication::translate("Widget", "no", nullptr));} // retranslateUi};namespace Ui {class Widget: public Ui_Widget {};
} // namespace UiQT_END_NAMESPACE#endif // UI_WIDGET_H

提问:

Qtxml 文件什么时候转化为一个 UI 类的?

qmake生成了 debug release 文件夹 Makefile,Makefile.debug, Makefile.release等,但是没有生成ui_XXX类。

执行make/build 的时候,生成了 ui_xxx类!  这个时候,我们的 Qt 在成员初始化列表里面,才能 new ui.然后执行ui->setupUi().


http://www.ppmy.cn/news/1336993.html

相关文章

Vue2:通过代理服务器解决跨域问题

一、场景描述 现在的项目大多数是前后端分离的。Vue前端项目通过ajax去请求后端接口的时候&#xff0c;会有同源策略的限制。从而产生跨域问题。 二、基本概念 1、什么是同源策略&#xff1f; 就是前端服务和后端服务的协议名&#xff0c;IP或主机名&#xff0c;端口号不完…

[macOS]gcc安装

在MacOS操作系统上安装GCC是开发者们经常遇到的问题之一。GCC是GNU编译器集合&#xff0c;它可以编译C&#xff0c;C&#xff0c;Objective-C和其他一些编程语言。然而&#xff0c;在MacOS上安装GCC并非一件简单的事情。本文将探讨如何在MacOS上安装GCC&#xff0c;以及如何解决…

数据结构--顺序表的基本操作[王道]

截图来自王道数据结构公开课 目录 1.插入操作 代码 时间复杂度分析 2.删除操作 代码 时间复杂度分析 3.按值寻找(顺序查找) 代码 时间复杂度 4.按位寻找(按序号查找) 代码 快速回顾顺序表的定义以及特点&#xff1a;数据结构-顺序表的实现 [王道]-CSDN博客 本篇博…

Qt WebEngine模块使用(开发环境安装和程序开发)

一、Qt WebEngine Qt WebEngine_hitzsf的博客-CSDN博客 Qt WebEngine模块提供了一个Web浏览器引擎&#xff0c;可以轻松地将万维网上的内容嵌入到没有本机Web引擎的平台上的Qt应用程序中。Qt WebEngine提供了用于渲染HTML&#xff0c;XHTML和SVG文档的C 类和QML类型&#xff…

【Qt】QInputDialog setGeometry: Unable to set geometry 问题

【Qt】QInputDialog setGeometry: Unable to set geometry 问题 文章目录 I - 问题背景II - 解决办法III - 参考链接 I - 问题背景 创建了一个 QMainWindow 并在上边创建了布局&#xff0c;尝试调用 QInputDialog 的 getInt 静态方法&#xff0c;结果运行时出现了以下警告 QW…

Apache Commons Collection3.2.1反序列化分析(CC1)

Commons Collections简介 Commons Collections是Apache软件基金会的一个开源项目&#xff0c;它提供了一组可复用的数据结构和算法的实现&#xff0c;旨在扩展和增强Java集合框架&#xff0c;以便更好地满足不同类型应用的需求。该项目包含了多种不同类型的集合类、迭代器、队…

TensorFlow2实战-系列教程 总目录

TensorFlow 深度学习 开发环境搭建 全教程 TensorFlow2实战-系列教程 总目录 TensorFlow2实战-系列教程1&#xff1a;回归问题预测TensorFlow2实战-系列教程2&#xff1a;神经网络分类任务TensorFlow2实战-系列教程3&#xff1a;猫狗识别1TensorFlow2实战-系列教程4&#xff1…

智能小程序事件系统——基础交互事件介绍

什么是交互事件 事件是视图层到逻辑层的通讯方式。事件可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上。当达到触发事件&#xff0c;就会执行逻辑层中对应的事件处理函数。事件对象可以携带额外信息&#xff0c;如 id、dataset 和 touches。 事件分类 事件分为…

51单片机通过级联74HC595实现倒计时秒表Protues仿真设计

一、设计背景 近年来随着科技的飞速发展&#xff0c;单片机的应用正在不断的走向深入。本文阐述了51单片机通过级联74HC595实现倒计时秒表设计&#xff0c;倒计时精度达0.05s&#xff0c;解决了传统的由于倒计时精度不够造成的误差和不公平性&#xff0c;是各种体育竞赛的必备设…

【ASP.NET Core 基础知识】--身份验证和授权--使用Identity进行身份验证

一、Identity的基础知识 1.1 Identity的组成 在ASP.NET Core中&#xff0c;Identity是一个用于处理用户身份验证和授权的框架。它包含了一系列组件&#xff0c;用于管理用户、角色、声明等身份相关的功能。以下是ASP.NET Core Identity的主要组成部分&#xff1a; User Mana…

手写rpc和redis

rpc框架搭建 consumer 消费者应用 provider 提供的服务 Provider-common 公共类模块 rpc 架构 service-Registration 服务发现 nacos nacos配置中心 load-balancing 负载均衡 redis-trench 手写redis实现和链接 package com.trench.protocol;import com.trench.enumUtil.Redis…

GIS应用水平考试一级—2009 年度第二次

全国信息化工程师——GIS应用水平考试 2009 年度第二次全国统一考试一级 试卷说明: 1、本试卷共9页,6个大题,满分150 分,150 分钟完卷。 2、考试方式为闭卷考试。 3、将第一、二、三題的答案用铅笔涂写到(NCIE-GIS)答题卡上。 4、将第四、五、六题的答案填写到主观题答题卡上…

微信小程序canvas画布实现文字自由缩放、移动功能

目录 实现效果 一、获取画布信息并绘制背景 二、绘制文字 三、绘制文字编辑按钮

【算法】传纸条(动态规划)

题目 小渊和小轩是好朋友也是同班同学&#xff0c;他们在一起总有谈不完的话题。 一次素质拓展活动中&#xff0c;班上同学安排坐成一个 m 行 n 列的矩阵&#xff0c;而小渊和小轩被安排在矩阵对角线的两端&#xff0c;因此&#xff0c;他们就无法直接交谈了。 幸运的是&…

代码随想录 Leetcode112. 路径总和

题目&#xff1a; 代码(首刷看解析 2024年1月30日 递归回溯 逻辑清晰版&#xff09;&#xff1a; class Solution { public:bool traversal(TreeNode* cur,int sum) {if (!cur->left && !cur->right && sum 0) return true;if (!cur->left &&am…

Tortoise-tts Better speech synthesis through scaling——TTS论文阅读

笔记地址&#xff1a;https://flowus.cn/share/a79f6286-b48f-42be-8425-2b5d0880c648 【FlowUs 息流】tortoise 论文地址&#xff1a; Better speech synthesis through scaling Abstract: 自回归变换器和DDPM&#xff1a;自回归变换器&#xff08;autoregressive transfo…

Linux系统Shell脚本-----------正则表达式 、grep、 sed

一、正则表达式 1.前言 正则表达式(regular expression)描述了一种字符串匹配的模式&#xff08;pattern&#xff09;&#xff0c;可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。在Linux中也就是代表我们定义的模式模板&…

使用QT实现播放gstreamer的命令(二)

一、前言 上一篇文章写到了&#xff0c;如何快速使用C来执行gstreamer的命令&#xff0c;如何在QT中显示gstreamer的画面&#xff0c;原文如下&#xff1a; https://blog.csdn.net/Alon1787/article/details/135107958 二、近期的其他发现&#xff1a; 1.gstreamer的画面显示在…

个体医务室电子处方病历系统,私人诊所处方笺开单软件教程

个体医务室电子处方病历系统&#xff0c;私人诊所处方笺开单软件教程 一、前言 以下教程以 佳易王诊所电子处方管理系统软件V17.2为例说明。 1、配方模板设置和常用病历模板设置&#xff1a;医师可以将常用的配方分类制作成模板&#xff0c;在开单时候可以一键导入。病历也是…

数字孪生引擎

AMRT3D引擎 是一款融合了眸瑞科技的AMRT格式与轻量化处理技术为基础&#xff0c;以降本增效为目标&#xff0c;支持多端发布的一站式纯国产自研的CS架构项目开发引擎。 引擎包括场景搭建、UI拼搭、零代码交互事件、光影特效组件、GIS/BIM组件、实时数据对接等多种功能&#xf…
最新文章