当前位置: 首页 > news >正文

.ui文件相关

目录

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().

相关文章:

  • mysql更新datetime类型
  • 部署PXE高效批量网络装机
  • 第4章 python深度学习——(波斯美女)
  • 【Image captioning】论文阅读八—ClipCap: CLIP Prefix for Image Captioning_2021
  • MySQL 聚集与非聚集索引
  • DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测(代码+教程)
  • 机房及设备安全智慧监管AI+视频方案的设计和应用
  • 任务悬赏系统搭建开发定制,任务分销系统
  • C#的String.Format 方法
  • 数据结构--堆排序(超详细!)
  • Postman-接口测试教程
  • bash 5.2中文修订5
  • visual studio2022专业版安装步骤
  • 第一节课,用户管理--后端初始化,项目调通。二次翻工2
  • Flink CEP实现10秒内连续登录失败用户分析
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • cookie和session
  • es6
  • HashMap剖析之内部结构
  • java8 Stream Pipelines 浅析
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Laravel 中的一个后期静态绑定
  • react-native 安卓真机环境搭建
  • 动态魔术使用DBMS_SQL
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 记录一下第一次使用npm
  • 巧用 TypeScript (一)
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 我从编程教室毕业
  • 我建了一个叫Hello World的项目
  • 在Mac OS X上安装 Ruby运行环境
  • $GOPATH/go.mod exists but should not goland
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (转载)Google Chrome调试JS
  • .net CHARTING图表控件下载地址
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .net mvc 获取url中controller和action
  • .NET连接MongoDB数据库实例教程
  • .NET项目中存在多个web.config文件时的加载顺序
  • @SpringBootApplication 包含的三个注解及其含义
  • [ C++ ] STL---string类的模拟实现
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [DNS网络] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案
  • [EFI]ASUS EX-B365M-V5 Gold G5400 CPU电脑 Hackintosh 黑苹果引导文件
  • [Golang]K-V存储引擎的学习 从零实现 (RoseDB mini版本)
  • [hive] sql中distinct的用法和注意事项
  • [I2C]I2C通信协议详解(二) --- I2C时序及规格指引
  • [JavaScript]如何讓IE9, IE8, IE7, IE6關閉視窗時不彈出對話訊息