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

网站建设社区装修公司网站 源码

网站建设社区,装修公司网站 源码,安徽省质量提升工程建设网站,网站后台怎么做的Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写#xff0c;所有平台无差别运行#xff0c;更提供了几乎所有开发过程中需要用到的工具。如今#xff0c;Qt已被运用于超过70个行业、数千家企业#xff0c;支持数百万设备及应用。 在本文中#xff0…Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写所有平台无差别运行更提供了几乎所有开发过程中需要用到的工具。如今Qt已被运用于超过70个行业、数千家企业支持数百万设备及应用。 在本文中我们通过使用C和Qt Widgets模块实现一个简单的记事本应用程序来学习基本的Qt知识该应用程序是一个小型的文本编辑器允许您创建文本文件、保存、打印或重新打开并在此编辑它还可以设置要使用的字体。 在上文中点击这里回顾我们为大家介绍了主源文件的生成、如何开始设计用户界面本文将为大家详细介绍设计用户界面的具体步骤。 点击获取Qt Widget组件下载(Q技术交流166830288 设计一个用户界面 使用Qt Designer设计器 向导创建一个使用QMainWindow的应用程序它有自己的布局您可以在其中添加菜单栏、dock小部件、工具栏和状态栏。中心区域可以被任何类型的小部件占用向导将Notepad小部件放在那里。 在Qt Designer中添加小部件 在Qt Creator编辑模式下双击记事本在集成的Qt设计器中启动该文件。将小部件文本编辑器(QTextEdit)拖放到表单中。按CtrlA(或CmdA)选择小部件然后单击Lay out Vertically(或按CtrlL)应用垂直布局(QVBoxLayout)。按CtrlS(或CmdS)保存更改。 UI现在看起来像下面的Qt Designer 您可以在代码编辑器中查看生成的XML文件 ?xml version1.0 encodingUTF-8? ui version4.0 classNotepad/class widget classQMainWindow nameNotepad property namegeometry rect x0/x y0/y width800/width height400/height /rect /property property namewindowTitle stringNotepad/string /property widget classQWidget namecentralWidget layout classQVBoxLayout nameverticalLayout item widget classQTextEdit nametextEdit/ /item /layout /widget widget classQMenuBar namemenuBar ... 下面一行包含XML声明它指定了文档中使用的XML版本和字符编码 ?xml version1.0 encodingUTF-8? 文件的其余部分指定了一个UI元素该元素定义了一个Notepad小部件 ui version4.0 UI文件与Notepad类的头文件和源文件一起使用我们将在后面的小节中查看UI文件的其余部分。 Notepad Header文件 向导为Notepad类生成了一个头文件其中包含必要的#includes、构造函数、析构函数和UI对象。该文件如下所示 #include QMainWindowQT_BEGIN_NAMESPACE namespace Ui { class Notepad; } QT_END_NAMESPACEclass Notepad : public QMainWindow { Q_OBJECTpublic: explicit Notepad(QWidget *parent nullptr); ~Notepad();private: Ui::Notepad *ui; QString currentFile; }; 下面这行包括QMainWindow它提供了一个主应用程序窗口 下面几行在UI命名空间中声明Notepad类这是uic工具从.ui文件生成的UI类的标准命名空间 namespace Ui { class Notepad; } 类声明包含Q_OBJECT宏它必须首先出现在类定义中并将类声明为QObject。当然它也必须继承QObjectQObject为一个普通的c类添加了一些功能。值得注意的是类名和槽名可以在运行时查询还可以查询槽的参数类型并调用它。 class Notepad : public QMainWindow { Q_OBJECT 下面几行声明了一个构造函数它有一个默认实参parent值0表示该小部件没有父部件(它是顶级小部件)。 public: explicit Notepad(QWidget *parent nullptr); 下面一行声明了一个虚析构函数来释放对象在其生命周期中获得的资源根据c的命名约定析构函数具有与其关联的类相同的名称并以波浪号(~)作为前缀。在QObject中析构函数是虚函数以确保在通过指向基类的指针删除对象时正确调用派生类的析构函数。 ~Notepad(); 下面几行声明了一个成员变量它是指向Notepad UI类的指针。成员变量与特定的类相关联并且它的所有方法都可以访问。 private: Ui::Notepad *ui; QString currentFile; }; Notepad源文件 向导为记事本类生成的源文件如下所示 #include notepad.h #include ui_notepad.hNotepad::Notepad(QWidget *parent) : QMainWindow(parent), ui(new Ui::Notepad) { ui-setupUi(this);} 以下几行包括由向导生成的记事本类头文件和由UI工具生成的UI头文件 #include notepad.h #include ui_notepad.h 下面一行定义了Notepad的构造函数 Notepad::Notepad(QWidget *parent) : 下面这行调用QMainWindow构造函数它是Notepad类的基类 QMainWindow(parent), 下面这行代码创建了UI类实例并将其赋值给UI成员 ui(new Ui::Notepad) 下面这行设置了UI { ui-setupUi(this); 在析构函数中删除UI Notepad::~Notepad() { delete ui; } 项目文件 向导为我们生成以下项目文件CMakeLists.txt # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clausecmake_minimum_required(VERSION 3.16) project(notepad LANGUAGES CXX)if(NOT DEFINED INSTALL_EXAMPLESDIR) set(INSTALL_EXAMPLESDIR examples) endif()set(INSTALL_EXAMPLEDIR ${INSTALL_EXAMPLESDIR}/widgets/tutorials/notepad)find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets OPTIONAL_COMPONENTS PrintSupport )qt_standard_project_setup()qt_add_executable(notepad main.cpp notepad.cpp notepad.h notepad.ui )set_target_properties(notepad PROPERTIES WIN32_EXECUTABLE TRUE MACOSX_BUNDLE TRUE )target_link_libraries(notepad PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets )if(TARGET Qt6::PrintSupport) target_link_libraries(notepad PRIVATE Qt6::PrintSupport) endif()# Resources: set(notepad_resource_files images/bold.png images/copy.png images/create.png images/cut.png images/edit_redo.png images/edit_undo.png images/exit.png images/font.png images/info.png images/italic.png images/new.png images/open.png images/paste.png images/pencil.png images/print.png images/save.png images/save_as.png images/underline.png )qt_add_resources(notepad notepad PREFIX / FILES ${notepad_resource_files} )install(TARGETS notepad RUNTIME DESTINATION ${INSTALL_EXAMPLEDIR} BUNDLE DESTINATION ${INSTALL_EXAMPLEDIR} LIBRARY DESTINATION ${INSTALL_EXAMPLEDIR} ) 项目文件指定项目中包含的源文件、头文件和UI文件。
http://www.w-s-a.com/news/290961/

相关文章:

  • 网站推广主要方法一流的盘锦网站建设
  • 给个网站好人有好报2021东莞专业网站营销
  • 中国网站优化哪家好制作网站页面
  • 网站站内优化度娘网站灯笼要咋做呢
  • 怎么制作一个简单的网站七牛云做网站
  • 厦门建网站哪家好求网站建设合伙人
  • 营销型网站制作步骤五个宁波依众网络科技有限公司
  • 外贸响应式网站建设临清建设局网站
  • 手机怎样使用域名访问网站个人做旅游网站的意义
  • 西部数码域名网站模板网站建设怎么管理业务员
  • o2o手机维修网站那个公司做的电子网站风格设计
  • 网站建设预算计算方法什么是网络营销战略?网络营销战略有哪些基本类型
  • 无锡做网站公司多少钱网站备案方法
  • 建设网站最强做网站哪一家公司好
  • 漫画风格网站人物介绍网页模板html
  • 贵阳市住房和城乡建设局政务网站大连 网站开发
  • 漳州市住房建设局网站网站一般多长
  • 国外做网站推广小程序制作二维码签到
  • 做网站需要域名网站建设诚信服务
  • 做物品租赁网站网站建设的完整流程
  • 响应式企业网站开发所用的平台西安知名网站推广
  • 高端响应式网站建设wordpress 全屏主题
  • 国内工程机械行业网站建设现状ui是什么意思
  • 成都网站开发哪家公司好出售家教网站模板
  • 订阅号做流量 那些电影如何链接网站温州市建设监理协会网站
  • 成都网站建设成功案例单招网商丘网站建设大全
  • 受欢迎的购物网站建设网推专员是做什么的
  • 商城网站前期准备湖南郴州建设局网站
  • 企业如何在自己的网站上做宣传外贸自建站可以自己做网站吗
  • 甘肃网站建设制作商网站空间哪家公司的好