`
tianyawuchen
  • 浏览: 1598 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论

NO.2.QT_UI使用

    博客分类:
  • QT
阅读更多

 

QT_UI的使用方法分为直接使用,单一继承,多继承三种方式,在vs2008生成的默认文件中使用单一继承方式,故对这种方式进行说明。

建立Qt_Application project->QWidget(name:widget)会生成From Files/widget.ui, Generated Files/ui_widget.h, Header Files/widget.h, Source Files/widget.cpp四个对ui使用有直接关系的文件。下面对其一一分析:

首先是widget.ui文件,如果用文本形式打开可看到其为xml形式,我们可用qt自带软件Designer对其进行图形化的编辑,具体使用可看此软件的help,有详细说明。现对ui进行一定修改(如增加一个pushbutton),之后保存。现在运行main.cpp可以看到窗口中已经实现了对ui的修改。

之后分析对ui修改代码的来源->Generated Files/ui_widget.h。这个文件在对project的编译过程中自动生成了实现ui效果的代码,但是如何来提取里面的pushButton使用?

接下来需要看Header Files/widget.h, 这个文件中可以看#include”ui_widget.h”,在class中有,Ui::weigetClass ui;对这个类的声明,在对应的Source Files/widget.cpp可以看到在class的构造函数中调用了ui.setupUi();这个函数,返回 Generated Files /ui_widget.h可以知道,正是这个函数完成了对.ui文件描述的界面进行初始化与基本功能完成。

现在,对UI文件生成构造已经有一个初步了解,那么如何去使用这个ui中的控件呢?

实际上很简单,我们可以观察到Generated Files/ui_widget.h 中的所有对象与函数均为public ,因此在使用时可以直接在Header Files/widget.h, Source Files/widget.cpp 中通过如ui.pushButton 进行调用。

当然,qt可以直接用代码写出ui界面,但是Designer大大减少了对界面设计的难度,并且可以通过层叠样式表进行对页面的设计,使设计变得简单友好,因此ui的使用仍是qt不可替代的一部分元素。

分享到:
评论

相关推荐

    TM-实现功能.zip_Qt 串口_串口_串口 QT_串口接收程序

    在本文中,我们将深入探讨如何使用Qt框架来实现一个串口接收程序,以此展示Qt库在处理串行通信中的强大功能。Qt是一个跨平台的C++应用程序开发框架,广泛应用于图形用户界面(GUI)和非GUI应用的开发。在标题"TM-...

    myCom.zip_QT 协议_QT通讯协议_Qt 串口_linux QT 串口_qt串口协议

    总的来说,利用Qt在Linux环境下实现串口通信,不仅可以方便地处理硬件交互,还能结合其丰富的UI功能,构建出功能完善的串口通信应用程序。通过理解并掌握串口通信的基本原理和Qt的相关API,开发者能够高效地完成各种...

    block_alt_f4.zip_F4_laterufw_qt alt +F4

    这个技术问题可能出现在任何使用Qt开发的应用中,特别是那些不允许用户轻易关闭的全屏或关键任务应用。通过这样的定制化处理,开发者可以增强用户体验,确保用户在离开应用前做出明确的决定。 标签"laterufw"可能指...

    Qt_静态编译

    3. **丰富的 API**:Qt 提供了一套全面的 API,覆盖了从 UI 设计到网络通信的各个方面,大大提高了开发效率。 4. **图形渲染**:Qt 支持 2D 和 3D 图形渲染,并且兼容 OpenGL,这使得开发者能够轻松创建高性能的图形...

    qt_study-master.zip

    总的来说,通过学习和分析qt_study-master项目,你可以掌握Qt框架下开发串口调试工具的基本技能,了解串口通信的实现方式,以及Qt中UI设计和事件处理的方法。这不仅对提升个人技能有极大帮助,还能为你的项目开发...

    QT学习笔记(四十多个问题解决方案)

    qstrcpy(lineHead->stGmLineHead.Line, ui.tableWidget->item(39, 1)->text().toAscii().data()); ``` 这里使用`qstrcpy`来进行复制操作,确保了数据类型的正确转换。 通过以上这些详细的知识点和示例代码,希望...

    QT编写的多媒体播放器源码--mediaplayer

    7. **UI设计**:项目的界面设计可能使用了Qt Designer工具,这是一种图形化的用户界面布局编辑器,可以快速创建和定制GUI界面。完成设计后,使用uic工具将.ui文件转换为C++代码。 8. **资源管理**:QT允许通过`.qrc...

    qtftp_QTFTP_ftp_qtqftp_

    Qt库包括图形界面组件、网络模块、数据库接口等,使得开发者可以快速开发出高效且具有现代UI的应用。 2. **FTP协议**:FTP是互联网上用于文件传输的标准协议,它允许用户从远程服务器获取文件或向服务器发送文件。...

    ruanjianceshi.rar_Qt测试

    通过使用QTEST_ASSERT系列宏(如QVERIFY、QVERIFY2、QCOMPARE等),可以在运行时检查预期结果是否与实际结果相符。如果测试失败,这些宏会记录失败信息,便于调试。 此外,Qt Test还支持更高级的特性,如测试数据...

    Qt-UI-file-sorter:命令行实用程序可对Qt设计器UI文件的输出进行排序,以使它们对VCS更友好

    当使用Qt Designer加载,编辑和保存Qt UI文件时,Qt Designer将不遵守xml项的顺序。 相反,顺序似乎随机变化。 此行为对版本控制不友好。 这个简单的python脚本会尝试恢复订单,以便在提交更改时具有清晰的差异。 ...

    qt-stm32控制LED

    在本文中,我们将深入探讨如何使用Qt框架通过串口通信来控制STM32微控制器实现LED的流水灯功能。Qt是一个强大的跨平台应用程序开发框架,广泛应用于GUI编程,而STM32是意法半导体(STMicroelectronics)推出的一系列...

    mac下Qt使用breakpad的源码

    在Mac环境下,Qt是一款强大的跨平台应用程序开发框架,它提供了丰富的UI设计工具和强大的C++库,使得开发者能够轻松创建出美观且功能丰富的应用。Breakpad是Google开发的一个开源崩溃转储工具,它允许应用程序在发生...

    Qt5_SerialPort.zip

    本篇将深入探讨如何使用Qt5的SerialPort模块来构建一个串口上位机界面,为初学者提供详尽的指导。 首先,我们需要理解Qt5中的SerialPort模块。这是Qt提供的用于处理串行通信的类库,它封装了底层操作系统对串口的...

    PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox增加自定义按钮的方法.rar

    self.ui.CustomButton.clicked.connect(self.customAction) def customAction(self): print("执行自定义操作") # 在这里实现自定义按钮的功能 ``` 在这个例子中,`customAction`函数会在用户点击自定义按钮时...

    Python3.6+QT5对话框大全

    "Python3.6+QT5对话框大全"这个主题涵盖了使用Python3.6和QT5来创建各种对话框的方法,这些对话框是GUI应用中不可或缺的交互元素。 首先,我们来看一下`QMessageBox`。`QMessageBox`是QT5库中的一个类,专门用于...

    Qt 使用QPainter类在子控件上画图

    在Qt框架中,QPainter是用于图形绘制的核心类,它提供了丰富的绘图功能,包括线条、曲线、文本、图像等。然而,在实际开发过程中,有时...在编写Qt应用程序时,一定要充分理解事件处理机制,以便更好地控制UI的行为。

    嵌入式QT移植

    ./configure release-opensource-confirm-license-qt-sql-sqlite-no-sse2-no-sse3-no-ssse3-no-sse4.1-no-sse4.2-no-avx-no-avx2-no-mips_dsp-no-mips_dspr2-no-pkg-config-qt-zlib-qt-libpng-qt-libjpeg-qt-...

    解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题

    1、问题:安装完成后PyQt5、PyQT5-tool后,双击Designer.exe或者添加External Tools后打开Designer有问题,提示no Qt platform plugin 解决办法:可以在python的安装目录下找到designer.exe文件 以进入plugins目录,...

    VS2005 使用 Qt插件

    ### 使用Qt 4.0与Visual Studio 2005的知识点详解 #### 一、配置环境 在开始使用Qt 4.0与Visual Studio 2005进行开发之前,需要对环境进行一系列的配置。 **1. 配置Qt** 首先需要下载并安装Qt 4.0.1。在作者的...

Global site tag (gtag.js) - Google Analytics