QT 之基础(一) 详解UI文件设计与运行机制

这篇具有很好参考价值的文章主要介绍了QT 之基础(一) 详解UI文件设计与运行机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、项目文件组成

1.1 创建一个项目文件

qt怎么创建ui文件,qt,ui,开发语言

 qt怎么创建ui文件,qt,ui,开发语言

 qt怎么创建ui文件,qt,ui,开发语言qt怎么创建ui文件,qt,ui,开发语言

 

 建立好项目如下qt怎么创建ui文件,qt,ui,开发语言

 

(1)项目组织文件【untitled.pro】

  • 存储项目设置文件
QT       += core gui  //表示项目中添加core gui模块             
 
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  //条件执行语句,Qt主版本大于4时,才加入widgets语句
 
TARGET = untitled             //表示生成目标可执行文件的名称
TEMPLATE = app                //项目使用的模板是app

(2)主程序入口文件【main.cpp】

  • 实现函数main()函数程序文件 
#include "mainwindow.h"
#include <QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);  //定义并创建应用程序
    MainWindow w;                //定义并创建窗口
    w.show();                    //显示窗口
 
    return a.exec();             //应用程序运行
}

 (3)窗体界面文件【mainwindow.ui】

  • 一个XML格式存储的窗体上的元件及其布局文件。
  • 任何界面窗体或者组件都是用类封装的,一个类一般有一个.h和.cpp文件

 (4).h文件【mainwindow.h】

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
 
namespace Ui {           //一个命名空间Ui,包含一个类MainWindow
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
 
private:
    Ui::MainWindow *ui;  //Ui::MainWindow定义了一个指针
};
 
#endif // MAINWINDOW_H
  • 命名空间里面定义的类是ui_mainwindow.h里面的类,用于描述界面组件的。
  • ui指针:指向可视化界面设计,后面要访问界面上的组件,都需要通过这个指针
  • 宏Q_OBJECT是任何实现信号、槽或属性的强制性要求。不管是否需要实现这些机制,都要 使用这个宏,否则会引发一些函数的奇怪行为。

 (5).cpp文件【mainwindow.cpp】文章来源地址https://www.toymoban.com/news/detail-589659.html

#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);  //实现窗口的生成与各种属性的设置,信号与槽的关联。
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
  • ui_mainwindow.h 文件自动加入的
  • 析构函数简单的删除用new创建的指针ui

到了这里,关于QT 之基础(一) 详解UI文件设计与运行机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • qt中使用 ui 文件进行界面设计

    目录 1、创建 Qt 应用 ​2、项目创建成功 3、直接点击打开 mainwindow.ui 文件 4、随便从左边侧边栏拖拽一个空间到 界面设计区域 5、在右侧边栏右键点击 pushButton 控件,点击转到槽 6、根据实际需要选择对应的信号,我这里方便演示选择 clicked()信号,直接点击 OK 7、自动在

    2024年02月04日
    浏览(43)
  • 【Qt】使用Qt designer(Qt设计师)以及uic工具将ui文件转换到C++代码进行界面开发

    【Qt】编写第一个Qt程序,使用Cmake编译并运行 Qt Designer是一个用于创建Qt应用程序用户界面的图形化界面设计器。它是Python GUI开发的一个重要工具,可以帮助用户快速创建具有丰富功能的用户界面。 打开终端输入以下代码 点击创建 拖一些组件进来,点击保存 得到一个后缀为

    2024年02月16日
    浏览(54)
  • PyQt5学习笔记--加载Qt Designer设计的ui文件

    目录 1--直接加载ui文件 2--动态加载ui文件及其属性 3--绑定槽函数测试 4--登录程序实例练习 ① Qt Designer 下载地址​​​​​ ② 设计ui并保存导出   ③ 直接加载代码 ​ ① 在Qt Designer设计ui文件:   ② 源程序: ③ 结果测试  

    2024年02月10日
    浏览(51)
  • Pyinstaller打包多个py文件和qt设计师的ui文件,带ico图标

    读取不到ui文件解决方法来自 钦卓大佬 的指点 目录结构 这几个打马赛克是打包时出现的文件目录,先去掉 gui.py是pyqt写的程序,是打包的主体,这里引用了adb.ui ,config.py,main.py文件 adb.ui 是qt设计师设计的界面 config.py是一些配置项目,比如配置抓取日志时的储存路径和车机

    2024年01月16日
    浏览(51)
  • QT基础教程之八Qt消息机制和事件

    Qt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类。 QPainter 用来执行绘制的操作; QPaintDevice 是一个二维空间的抽象,这个二维空间允许QPainter在其上面进行绘制,也就是QPainter工作的空间; QPaintEngi

    2024年02月10日
    浏览(54)
  • QT基础教程之七Qt消息机制和事件

    事件(event)是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等;另一些事件则是由系统自动发出,如计时器事件。 在前面我们也曾经简

    2024年02月10日
    浏览(37)
  • 【Qt UI】QT 窗口/控件置顶方法详解

    在QT开发中,有时候我们需要让某个窗口或控件始终显示在其他窗口之上。这种需求在多窗口应用或者弹出提示框等场景中非常常见。本文将详细介绍如何在QT5和QT6中实现这一功能,并对两者之间的差异进行深入分析。 使用 Qt::WindowStaysOnTopHint 标志 在QT5中,最常用的窗口置顶

    2024年02月05日
    浏览(50)
  • [QT基础]QT不同ui界面的简单切换(C++)

            window10,QT 5.11.1,语言c++         设计两个ui界面,能实现一个ui界面到另一个ui界面的跳转。 为了以防万一,如果是第一次使用qt创建ui界面可以参考以下博客 QT界面创建 1,代码思路         两个ui界面,使用一个按钮进行页面的切换,考虑到实际的应用场景,

    2024年02月03日
    浏览(42)
  • QT之修改ui界面程序不识别或者运行后没变化

        遇到这种情况有两种解决办法,一种操作比较繁琐,但是治根,一种操作比较简单,但是不治根。下面介绍第一种方法。 1.主要是copy别人的项目后所造成的问题。请参考我的另一篇博客。  QT之修改ui或程序后运行不变化 2.可以通过复制ui_xxx.h文件来解决   如果QT项目中的

    2024年02月15日
    浏览(32)
  • 【QT】混合UI设计

    虽然利用Designer和代码的设计方式都可以开发GUI,但是毫无疑问的是最有效的开发方式是利用两者进行混合开发。 下面这个实验例子来自《QT5.9 C++开发指南》,我做了小部分修改,最终效果是这样: 这次我们要开发的是一个有工具栏、菜单栏、标题栏等组成的GUI,所以毫无疑

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包