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

徐州低成本建站淘客做网站多少钱

徐州低成本建站,淘客做网站多少钱,做表格的网站,创意设计作品欣赏文章目录 ⭐前言⭐创建#x1f6e0;️选择一个模板#x1f6e0;️Location#x1f6e0;️构建系统#x1f6e0;️Details#x1f6e0;️Translation#x1f6e0;️构建套件(Kit)#x1f6e0;️汇总 ⭐项目⚒️概要⚒️构建步骤⚒️清除步骤 ⭐Code#x1f526;untitled… 文章目录 ⭐前言⭐创建️选择一个模板️Location️构建系统️Details️Translation️构建套件(Kit)️汇总 ⭐项目⚒️概要⚒️构建步骤⚒️清除步骤 ⭐Codeuntitled.promain.cppmainwindow.hmainwindow.cppmainwindow.ui END⭐视频讲解 ⭐前言 本文将带大家查看一个默认的Qt Widget程序可能会涉及哪些方面的内容。 本文默认使用IDE为Qt Creator和qmake编译套件。 当然由于个人能力和水平的局限性并不可能带领大家看到所有的全貌。 ⭐创建 ️选择一个模板 选择 Application (Qt)并选择一个窗口应用Qt Widgets Application。 ️Location 选择一个项目生成的位置注意不要出现中文路径。 这里的名称默认是untitled大家可以改成自己项目的名称。也不要有中文。 ️构建系统 选择qmake当然目前Qt6在大力推行cmake进行编译。 本文这里以传统的qmake为例。 而最后的Qbs是qt提出的另一种构建方式 但是在2018年宣布正式弃用Deprecation of Qbs (qt.io) ️Details 这里是生成默认代码的配置。 默认情况下头文件源文件ui文件三者会跟随类名。这里默认使用的是QMainWindow。 继承关系链 QMainWindow - QWidget - QObject。 ️Translation 翻译文件国际化翻译配置一般都是根据需要生成。这里默认无即可。 ️构建套件(Kit) 这里Qt Creator会根据安装时的qt版本显示。这里随意选择即可后面还可以自己再选择。 ️汇总 项目管理这里没有子项目。因此直接默认。 一般这些东西都是在项目过程中手动管理进去的。 ⭐项目 ⚒️概要 构建目录 这里的构建目录会默认生成在.pro文件所在文件夹的同级中。 里面包含了qt版本,编译器,debug-release等等信息。 C:\Users\lotus\Desktop\build-untitled-Desktop_Qt_5_15_2_MinGW_32_bit-Debug⚒️构建步骤 在构建目录中分别执行qmake指令和make指令即可编译好我们的Qt程序。 当然下面并非是真正的执行指令而是一些显示的配置参数。 qmake D:/Qt/5.15.2/mingw81_32/bin/qmake.exe C:\Users\lotus\Desktop\untitled\untitled.pro -spec win32-g CONFIGdebug CONFIGqml_debug D:/Qt/Tools/mingw810_32/bin/mingw32-make.exe qmake_allMake mingw32-make.exe -j16 in C:\Users\lotus\Desktop\build-untitled-Desktop_Qt_5_15_2_MinGW_32_bit-Debug⚒️清除步骤 删除一些中间文件比如.o,moc_等等文件其中文件夹不删除。 mingw32-make.exe clean -j16 in C:\Users\lotus\Desktop\build-untitled-Desktop_Qt_5_15_2_MinGW_32_bit-Debug⭐Code untitled.pro QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c17# You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES QT_DISABLE_DEPRECATED_BEFORE0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES \main.cpp \mainwindow.cppHEADERS \mainwindow.hFORMS \mainwindow.ui# Default rules for deployment. qnx: target.path /tmp/$${TARGET}/bin else: unix:!android: target.path /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS targetQT Qt的核心库如core,gui,widgets等等 CONFIG 添加相关配置比如这里希望以c17的标准编译。 DEFINES 添加宏定义此处的QT_DISABLE_DEPRECATED_BEFORE0x060000。表示如果使用废弃的接口函数则将无法编译。 如果不指定值则默认值为1。 SOURCES 原文件 HEADERS 头文件 FORMS ui文件 分支判断 qnx: 表示在qnx的环境下。 else:类似if-else 当然这里也可以添加{}块作用域。 qnx: target.path /tmp/$${TARGET}/bin else: unix:!android: target.path /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS targetmain.cpp #include mainwindow.h#include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;w.show();return a.exec(); }QApplication 是整个程序的核心管理了qt的所有主事件循环用exec()进入阻塞等待。 当退出时返回一个int。 w.show() 这里建立一个ui组件并显示。 当最后一个ui关闭时则退出主时间循环即exec()结束并返回。 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindowQT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();private:Ui::MainWindow *ui; }; #endif // MAINWINDOW_H元对象 继承自QObject并包含宏Q_OBJECT。 继承关系QMainWindow - QWidget - QObject 将该文件通过moc解析。 moc.exe mainwindow.h -o mainwindow.moc.cppmainwindow.moc.cpp /**************************************************************************** ** Meta object code from reading C file mainwindow.h ** ** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4) ** ** WARNING! All changes made in this file will be lost! *****************************************************************************/#include memory #include mainwindow.h #include QtCore/qbytearray.h #include QtCore/qmetatype.h #if !defined(Q_MOC_OUTPUT_REVISION) #error The header file mainwindow.h doesnt include QObject. #elif Q_MOC_OUTPUT_REVISION ! 68 #error This file was generated using the moc from 6.2.4. It #error cannot be used with the include files from this version of Qt. #error (The moc has changed too much.) #endifQT_BEGIN_MOC_NAMESPACE QT_WARNING_PUSH QT_WARNING_DISABLE_DEPRECATED struct qt_meta_stringdata_MainWindow_t {const uint offsetsAndSize[2];char stringdata0[11]; }; #define QT_MOC_LITERAL(ofs, len) \uint(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) ofs), len static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow {{ QT_MOC_LITERAL(0, 10) // MainWindow},MainWindow }; #undef QT_MOC_LITERALstatic const uint qt_meta_data_MainWindow[] {// content:10, // revision0, // classname0, 0, // classinfo0, 0, // methods0, 0, // properties0, 0, // enums/sets0, 0, // constructors0, // flags0, // signalCount0 // eod };void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) {(void)_o;(void)_id;(void)_c;(void)_a; }const QMetaObject MainWindow::staticMetaObject { {QMetaObject::SuperData::linkQMainWindow::staticMetaObject(),qt_meta_stringdata_MainWindow.offsetsAndSize,qt_meta_data_MainWindow,qt_static_metacall,nullptr, qt_incomplete_metaTypeArrayqt_meta_stringdata_MainWindow_t , QtPrivate::TypeAndForceCompleteMainWindow, std::true_type,nullptr } };const QMetaObject *MainWindow::metaObject() const {return QObject::d_ptr-metaObject ? QObject::d_ptr-dynamicMetaObject() : staticMetaObject; }void *MainWindow::qt_metacast(const char *_clname) {if (!_clname) return nullptr;if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0))return static_castvoid*(this);return QMainWindow::qt_metacast(_clname); }int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) {_id QMainWindow::qt_metacall(_c, _id, _a);return _id; } QT_WARNING_POP QT_END_MOC_NAMESPACEnamespace Ui { class MainWindow; } 是ui文件中顶层对象名称就是这里的类名。可以通过解析ui文件进行查看。 当然这里是一个典型的Pimpl技巧。 mainwindow.cpp #include mainwindow.h #include ui_mainwindow.hMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this); }MainWindow::~MainWindow() {delete ui; }该文件核心是查看这两个头文件。 #include mainwindow.h #include ui_mainwindow.hui_mainwindow.h 是通过ui文件生成的C代码。将xml转化为cpp代码 mainwindow.ui ?xml version1.0 encodingUTF-8? ui version4.0classMainWindow/classwidget classQMainWindow nameMainWindowproperty namegeometryrectx0/xy0/ywidth800/widthheight600/height/rect/propertyproperty namewindowTitlestringMainWindow/string/propertywidget classQWidget namecentralwidget/widget classQMenuBar namemenubar/widget classQStatusBar namestatusbar//widgetresources/connections/ /uixml 显然易见的ui文件的本质是一个xml文件。 uic 可以通过uic指令将ui文件转化为cpp代码。 uic mainwindow.ui -o ui_mainwindow.hui_mainwindow.h /******************************************************************************** ** Form generated from reading UI file mainwindow.ui ** ** Created by: Qt User Interface Compiler version 6.2.4 ** ** WARNING! All changes made in this file will be lost when recompiling UI file! ********************************************************************************/#ifndef UI_MAINWINDOW_H #define UI_MAINWINDOW_H#include QtCore/QVariant #include QtWidgets/QApplication #include QtWidgets/QMainWindow #include QtWidgets/QMenuBar #include QtWidgets/QStatusBar #include QtWidgets/QWidgetQT_BEGIN_NAMESPACEclass Ui_MainWindow { public:QWidget *centralwidget;QMenuBar *menubar;QStatusBar *statusbar;void setupUi(QMainWindow *MainWindow){if (MainWindow-objectName().isEmpty())MainWindow-setObjectName(QString::fromUtf8(MainWindow));MainWindow-resize(800, 600);centralwidget new QWidget(MainWindow);centralwidget-setObjectName(QString::fromUtf8(centralwidget));MainWindow-setCentralWidget(centralwidget);menubar new QMenuBar(MainWindow);menubar-setObjectName(QString::fromUtf8(menubar));MainWindow-setMenuBar(menubar);statusbar new QStatusBar(MainWindow);statusbar-setObjectName(QString::fromUtf8(statusbar));MainWindow-setStatusBar(statusbar);retranslateUi(MainWindow);QMetaObject::connectSlotsByName(MainWindow);} // setupUivoid retranslateUi(QMainWindow *MainWindow){MainWindow-setWindowTitle(QCoreApplication::translate(MainWindow, MainWindow, nullptr));} // retranslateUi};namespace Ui {class MainWindow: public Ui_MainWindow {}; } // namespace UiQT_END_NAMESPACE#endif // UI_MAINWINDOW_HEND ⭐视频讲解 视频讲解参见 关注我学习更多C/C算法计算机知识 B站 ‍主页天赐细莲 bilibili
http://www.w-s-a.com/news/216711/

相关文章:

  • 南京免费发布信息网站网站建设与管理职责
  • 无锡市建设培训中心网站企业vi设计是啥
  • 宿松网站建设推荐秒搜科技国家官方网站
  • 网站的服务器选择wordpress文章底部加分享
  • 天津专业的网站建设公司阿里云服务器 wordpress
  • 家教辅导培训网站建设中东跨境电商平台有哪些
  • 商城形式的网站需要多少钱做医药商城网站的公司吗
  • 贵阳网站设计zu97彩票创建网站
  • 网站建设与分工的论文足球世界排名
  • 网站首页添加标签如何用模板建站
  • 官方网站包括哪几个网站泰安的网站建设公司哪家好
  • 域名虚拟服务器做网站如何搭建企业网站
  • 用手机做网站服务器口碑好的常州网站建设
  • 摄影网站的设计与实现开题报告太原企业自助建站
  • 做如美团式网站要多少钱做网站怎么去文化局备案
  • 桂平市住房和城乡建设局网站网站建设与管理自考题
  • 怎么做公司网站制作凡科官方网
  • 达人设计网官方网站建筑效果图网站有哪些
  • 网站定制哪家快建筑室内设计网
  • 网站创建方案论文旅游网站的设计与制作html
  • 网站建设的数据导入导出开发小程序需要多少钱费用
  • 局网站建设进入前十名wordpress user role editor
  • 网站托管如何收费搜一下百度
  • 中国建设劳动协会网站wordpress 区块链媒体
  • 网站开源是什么意思西安做网站科技有限公司
  • 自己怎么用h5做网站肇庆seo
  • 长沙网站seo优化公司东莞企业官方网站建设
  • 网站个人备案材料北京网站推广价格
  • 百度做任务的网站电子工程网网站
  • 中介订制网站开发玉溪网站建设设计