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

购物网站 开发贵州企业seo

购物网站 开发,贵州企业seo,静态网页代码大全,网站的服务有哪些QT6学习第四天 感受QT的文件编译 使用纯代码编写程序新建工程 使用其他编辑器纯代码编写程序并在命令行运行使用 .ui 表单文件生成界面使用自定义 C 窗口类使用现成的QT Designer界面类 使用纯代码编写程序 我们知道QT Creator中可以用拖拽的方式在 .ui 文件上布局#xff0c… QT6学习第四天 感受QT的文件编译 使用纯代码编写程序新建工程 使用其他编辑器纯代码编写程序并在命令行运行使用 .ui 表单文件生成界面使用自定义 C 窗口类使用现成的QT Designer界面类 使用纯代码编写程序 我们知道QT Creator中可以用拖拽的方式在 .ui 文件上布局同时也会生成代码。 我们来练习纯代码方式来写项目。 新建工程 我们新建一个空项目 因为书里写的使用Qmake的我也就用QMake了。CMake你需要了解CMake文件的编写。 创建完成后会生成一个pro文件我们在里面写上 greaterThan(QT_MAFOR_VERSION,4): QT widgets因为我们的代码中需要用到的类都包含在Widgets这个模块中。所以在编译文件中要写。 在项目中添加一个main.cpp文件。 在 main.cpp 中写上我们的代码。 //导入我们要使用的包或类 #include QApplication #include QDialog #include QLabel//main函数带有两个参数第一个是个变量第二个是一个数组 int main(int argc,char *argv[]){//创建一个 QApplication 对象来管理应用程序的资源//每个 QT Widgets 程序都有一个QApplication 对象。//因为QT程序可以接受命令行参数所以需要 argc 和 argv 俩参数。QApplication a(argc,argv);//创建一个 QDialog 对象 w QDialog 类用来实现一个对话框界面QDialog w;//设置w的长宽w.resize(400,300);//创建一个 QLabel 对象 label第一个参数是 w 说明将他放在 w 中 表示用了引用。QLabel label(w);//设置 label 的位置原点是00label.move(120,120);//设置 label 要显示的字符//QOBject::tr() 可以实现多语言支持建议所有要显示到界面的字符都用它括起来label.setText(QObject::tr(Hello World! Hello QMake!));//显示创建的对象QT 中的对象需要用 show() 才会显示出来。w.show();//让QApplication 对象进入事件循环中这样 QT 程序运行时便可以接受产生的事件//如鼠标单击、按键盘等。return a.exec(); }这样我们就自己写了一个超级low的QT程序啦 运行它吧 使用其他编辑器纯代码编写程序并在命令行运行 我们试试不用QT Creator 使用普通文本编辑器来写程序。通过对比让大家明白QT Creator只是将编辑、编译、运行等动能进行了集成其实这些操作都可以我们自己实现可在帮助索引中通过 Getting Started with qmake关键字查看该部分内容。 我们来新建一个项目。自己找一个路径在路径下创建一个文本文档并把我们之前的代码复制过来最后将文件另存为 main.cpp 编码选择UTF-8否则中文会乱码。 然后我们开始编译。打开QT 6.8MinGW 13.1.0 64命令行进入我们项目路径然后输入qmake-project命令来生成 .pro 项目文件。 在 pro 文件中输入 greaterThan(QT_MAJOR_VERSION,4):QT widget下面接着在命令行中输入 qmake 命令来生成用于编译的Makefile 文件。之后会出现Makefile 文件、debug和release目录。最后再输入 mingw32-make 命令来编译程序编译完成后会在 release 文件夹中生成 .exe 文件。如果要生成debug版只需改变下命令即可。 这里对QT程序的编译过程做一个补充。qmake 是QT提供的编译工具它可以生成与平台无关的 .pro 文件然后利用该文件生成与平台相关的 Makefile 文件。Makefile 文件中包含了要创建的目标文件或可执行文件、创建目标文件所依赖的文件和创建每个目标文件时需要运行的命令等信息。最后用 mingw32-make 工具完成自动编译mingw32-make 就是通过读入 Makefile 文件的内容来执行编译。使用 mingw32-make 时会为每个源文件生成一个对应的 .o 文件最后将这些目标文件进行链接来生成最终的 .exe 文件。 通过上面的小案例更能理解QT Creator 是一个将项目目录管理、源代码编辑和程序编译运行等功能集合在一起的集成开发环境IDE。 使用 .ui 表单文件生成界面 我们在项目里添加一个 ui 文件用 ui 文件生成界面来替代前面代码生成的界面并讲解 ui 文件的作用。然后脱离QT Creator使用命令行再次编译 ui 文件和整个项目。可以在帮助索引中通过 Using a Designer UI File in Your C Application 关键字查看相关内容。 像我们之前添加 main.cpp 文件一样添加 ui 文件。然后起个名字。 添加完成后会直接进入设计模式。在界面上拖入一个 Label 部件并更改其显示内容为 Hello QT。然后通过右侧的属性编辑器在geometry属性中更改坐标位置为 X:120Y:120。这样就和我们的代码 label.move(120,120) 一致了。接着在右上角的对象查看器中选择QDialog类对象并在属性编辑器中更改对象名为 Hello QT 我们回到编辑模式会看到 ui 文件生成了其实她是一个 xml 代码文件里面的代码就是我们设计的界面信息。 我们点击锤子图标构建项目。能发现在 build/debug 路径下生成了 ui 的 .h 头文件。可以看一下里面的内容。 /******************************************************************************** ** Form generated from reading UI file dialog.ui ** ** Created by: Qt User Interface Compiler version 6.8.0 ** ** WARNING! All changes made in this file will be lost when recompiling UI file! ********************************************************************************///预处理指令防止对这个头文件的多重包含 #ifndef UI_DIALOG_H #define UI_DIALOG_H#include QtCore/QVariant #include QtWidgets/QApplication #include QtWidgets/QDialog #include QtWidgets/QLabel//命名空间开始宏 QT_BEGIN_NAMESPACE//定义一个Ui_HelloQT类在ui文件中设置的对象名前加了Ui默认的格式 class Ui_HelloQT { public: //一个QLabel类对象指针就是ui中添加的Label部件QLabel *Hello;//生成界面的函数参数类型由我们创建项目时选择的模板决定这里是Dialogvoid setupUi(QDialog *HelloQT){//设置Dialog名字if (HelloQT-objectName().isEmpty())HelloQT-setObjectName(HelloQT);HelloQT-setEnabled(true);//在HelloQT中创建QLabel对象Hello new QLabel(HelloQT);//设置label名字Hello-setObjectName(Hello);//设置label位置和大小Hello-setGeometry(QRect(120, 120, 69, 19));//调用retranslateUi函数retranslateUi(HelloQT);//connectSlotsByName是个静态函数可以让窗口中的部件实现按对象名进行信号和槽的关联。QMetaObject::connectSlotsByName(HelloQT);} // setupUi//定义retranslateUi函数作用是对窗口里的字符进行编码转换void retranslateUi(QDialog *HelloQT){HelloQT-setWindowTitle(QCoreApplication::translate(HelloQT, Dialog, nullptr));Hello-setText(QCoreApplication::translate(HelloQT, TextLabel, nullptr));} // retranslateUi};//定义了命名空间 Ui其中定义了一个 HelloQT 类该类继承自 Ui_HelloQT 类 namespace Ui {class HelloQT: public Ui_HelloQT {}; } // namespace Ui//命名空间结束宏 QT_END_NAMESPACE//和第10、11行一起的配对使用 #endif // UI_DIALOG_H 这里就不难理解通过 ui 设计界面和纯代码设计界面效果是一样的通过 QT Designer 可以直观看到界面省去写代码的过程。 我们改一下 main.cpp 文件导入我们的 ui 头文件。并把我们的ui界面添加进去。 #include ui_dialog.hint main(int argc,char *argv[]){Ui::HelloQT ui;ui.setupUi(w); }我们来看下在命令行中如何编译带ui的项目。和之前一样需要把 cpp 和 ui 文件放到一起。 首先编译 ui 文件还是打开QT 6.8.0MinGW进入到目录中使用 uic 工具编译 ui 文件 输入 uic -o ui_dialog.h dialog.ui 完成后就会生成对应头文件 然后输入 qmake -project 生成 pro 文件文件中添加 QT widgets 后 再依次执行如下命令 qmake ming32-make这样我们也了解到通过命令行如何编译带 ui 的项目了。 使用自定义 C 窗口类 新建一个 qmake 空项目并且建立一个自定义的 C 类然后使用前面的 ui 文件。通过该示例可感受到QT Creator 中的 Designer 界面类是如何生成的。 创建一个空项目名为helloworld完成后打开 pro 文件并写入代码并保存。 greaterThan(QT_MAJOR_VERSION,4):QT widgets添加文件。添加 C Class 文件类名为 HelloDial基类选择自定义手动填写为 QDialog其他默认完成后再添加新的 main.cpp 文件。 在 main.cpp 中填写代码 #include QApplication #include hellodialog.hint main(int argc,char *argv[]){QApplication a(argc,argv);HelloDialog w;w.show();return a.exec();}添加 ui 文件将之前的 ui 文件复制过来然后选择添加现有文件选择 之前的 ui 文件。更改C类文件。这次没有在main函数中使用 ui 文件而是在新建的 C 类中使用。 先改 hellodialog.h #ifndef HELLODIALOG_H #define HELLODIALOG_H#include QDialog //这里是对 HelloDialog 类的前置声明这样就不用在这里导入 ui_hellodialog.h 头文件了 //在 hellodialog.cpp 中导入即可 namespace Ui{ class HelloDialog; }class HelloDialog : public QDialog {//Q_OBJECT宏扩展了普通C类的功能如信号和槽必须在类定义最开始的部分添加Q_OBJECTpublic://显示构造函数参数用来指定父窗口explicit HelloDialog(QWidget *parent nullptr);~HelloDialog();private:Ui::HelloDialog *ui; };#endif // HELLODIALOG_H 接着改 hellodialog.cpp #include hellodialog.h #include ui_helloworld.h//ui(new Ui::HelloDialog) 等同于 ui new Ui::HelloDialog; HelloDialog::HelloDialog(QWidget *parent):QDialog(parent),ui(new Ui::HelloDialog) {ui - setupUi(this); }HelloDialog::~HelloDialog(){delete ui; } 使用现成的QT Designer界面类 新建一个空项目名字还是helloworld在pro文件中添加 greaterThan(QT_MAJOR_VERSION,4):QT widgets 项目中添加新文件模板选择QT Widgets Designer Form Class 添加一个main.cpp文件添加代码 #include QApplication #include dialog.hint main(int argc,char *argv[]){QApplication a(argc,argv);Dialog w;w.show();return a.exec(); } 它实现和我们刚刚一样的项目。 我们可以得到总结QT Desiger 类界面项目就是C类和ui的结合他会帮你生成cpp、h、ui文件不用你自己创建。
http://www.dnsts.com.cn/news/247329.html

相关文章:

  • 做网站的费用记哪个会计科目导航网站如何被百度收录
  • 做机票在线预订网站河北云网站建设
  • 黄山网站建设公司织梦软件网站模板下载地址
  • 建设银行大厂支行网站手机网站建设计
  • 外贸网站设计师开设购物网站的方案
  • 网站建设案例行情赣州网站建设哪家公司好
  • 哪里建设网站不需要备案包头seo哪家专业
  • 佛山市新城开发建设有限公司网站用以前用过的域名做网站
  • 常州网约车哪个平台最好网站推广的优化
  • 自己做购物网站推广优化大师官方下载
  • 西安手机定制网站建设wordpress内页导航
  • 电脑上怎么建设网站淘宝客网站下载
  • 做电影网站资源哪里来的上海建网站服务器
  • 电商网站业务流程做刷单网站违法吗
  • 珠海网站制作专业建设维护网站运营方案
  • 网站怎样制作 优帮云微信公众上传wordpress
  • 怀柔高端网站建设昆明官网seo技术
  • 西安建网站网站推广遂宁门户网站建设先进工作单位
  • 欧美网站建设wordpress 移动版插件
  • 做视频上传到网站怎么赚钱北京装修公司哪家口碑好一些
  • 网站建设花费录什么费用做网站开发有前途吗
  • 有没有什么免费的网站wordpress 判断语言
  • WordPress开网站很慢百度贴吧怎么发广告
  • 商丘市建立网站公司百度一下你就知道首页官网
  • 招商网站建设推广萍乡建设网站
  • 万网制作淘宝客网站怎样把有用网站做图标放在桌面
  • 网站建设搜索键如何设置链接政务网站建设工作的通知
  • 购物网站模板htmlui培训心得体会总结
  • 商城购物网站设计内容wordpress自带小工具
  • 做网站f12的用处wordpress转微信