做货代网站wordpress之搜索标题
2026/4/24 0:42:07 网站建设 项目流程
做货代网站,wordpress之搜索标题,广告设计跟平面设计,wordpress使用主题目录 一、新建项目 1. 新建项目 二、生成代码 1. main.cpp 2. widget.h / widget.cpp 3. widget.ui 4. .pro 文件 5. 运行后生成的文件 三、创建控件 1. Label#xff08;标签#xff09; 2. 编辑框 3. 一个简单的交互程序#xff1a;点击按钮切换文字 四、乱码…目录一、新建项目1. 新建项目二、生成代码1. main.cpp2. widget.h / widget.cpp3. widget.ui4. .pro 文件5. 运行后生成的文件三、创建控件1. Label标签2. 编辑框3. 一个简单的交互程序点击按钮切换文字四、乱码问题与文字输出1. 编码问题2. qDebug 输出五、坐标系统一、新建项目1. 新建项目启动在 QT 的安装文件夹中找到并运行QT Creator然后在左上角的“文件”菜单中点击“新建”。选择模板由于 QT 支持 Python 等多种语言开发QT Quick是 QT 自己的一套声明式语言和开发方式。我们使用 C因此选择默认的Widgets Application模板即可。设置项目路径和名字路径和名称不能包含中文。构建系统选择选择qmake这是 QT 的经典构建工具。CMake也被部分开源项目使用而Qbs已停止维护。​​​​​​​UI 文件Formfile在 QT 中创建图形界面的方式有两种使用 C 代码创建或使用Formfile图形界面创建。我们选用图形化方式快速编辑。​​​​​​​基类选择QWidget。​​​​​​​其他选项编译器选择等保持默认即可。二、生成代码1.main.cpp#include widget.h #include QApplication int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec(); }创建 QT 项目后会自动生成这些代码。main函数的形参即为命令行参数。QApplication是编写 QT 应用程序时必须的类管理应用程序的控制流和主要设置。show方法Widget w;w.show();Widget是创建项目时输入的类名。.show()用于显示窗口控件改为.hide()则为隐藏。exec方法与 Linux 的exec不同这是启动应用程序的事件循环让程序运行起来。2.widget.h/widget.cpp继承关系class Widget : public QWidget即继承了创建项目时选择的基类QWidget。Q_OBJECT宏QT 内置的宏展开后会生成一些代码是 QT 信号和槽机制的核心所需。构造函数和析构函数​​​​​​​Ui::Widget *ui;这个指针与.ui文件Formfile密切相关用于访问界面上的控件。3.widget.ui双击该文件会调用QT Designer打开图形化编辑器可以从左侧拖拽控件到界面上。返回代码编辑区可以看到其格式本质上是XML文件。​​​​​​​这个区域已经被封装好了我们只需运行程序即可看到界面。4..pro文件这是 QT 的工程文件。QT core gui指定项目需要引入的 QT 模块。SOURCESHEADERSFORMS这些部分列出了项目中的源文件、头文件和界面文件。通常不需要手动修改QT Creator会自动维护。5. 运行后生成的文件运行项目后会生成一个build-开头的文件夹。ui_widget.h是由widget.cpp里的setupUi调用ui-setupUi(this);所创建的。它根据.ui文件生成了具体的界面设置代码。三、创建控件1. Label标签图形化创建在widget.ui中拖拽Label到界面上即可。​​​​​​​此时在widget.ui文件里就会有一个QLabel标签。​​​​​​​代码创建在widget.cpp的构造函数中创建。在main函数中有Widget w;这一行创建Widget对象时就会调用构造函数从而创建出画面。添加头文件#include QLabel(QT 历史较早有.h和没有.h的头文件都存在两者都可以)。创建对象并指定父对象QLabel* q1 new QLabel(this); // this 就是 Widget w给这个标签指定父对象 q1-setText(Hello World);QT 有自己封装的字符串类QString。开发时std::string和QString都可以用但QString在处理编码尤其是中文时更友好。注意这里没有delete不会造成内存泄露。原因QT 使用对象树机制当父对象Widget被销毁时会自动销毁其所有子对象如这里的q1。如果将QLabel对象创建在栈上如QLabel q1(this);在构造函数结束时它就会立即销毁导致无法显示。​​​​​​​2. 编辑框单行编辑框QLineEdit多行编辑框QTextEdit图形化实现拖拽Line Edit控件到界面上即可。代码实现cppQLineEdit* q new QLineEdit(this); q-setText(hello world);3. 一个简单的交互程序点击按钮切换文字图形界面实现拖拽一个Push Button到界面上。使用connect函数连接信号与槽cppconnect(ui-pushButton, QPushButton::clicked, this, Widget::changeText);ui-pushButton代表按钮的对象名可以在界面右侧的属性编辑器中修改。​​​​​​​QPushButton::clicked表示接收按钮的“被点击”信号。this代表接收信号的对象当前Widget。Widget::changeText代表接收到信号后要执行的操作槽函数需要在Widget类中实现。实现槽函数changeTextcppvoid Widget::changeText() { if (ui-pushButton-text() QString(hello world)) ui-pushButton-setText(hello qt); else ui-pushButton-setText(hello world); }使用 Lambda 表达式一步搞定connect(ui-pushButton, QPushButton::clicked, this, [this]() { if (ui-pushButton-text() QString(hello world)) ui-pushButton-setText(hello qt); else ui-pushButton-setText(hello world); });纯代码实现首先在widget.h的Widget类中添加成员变量QPushButton* pushButton;在widget.cpp的构造函数中创建并连接pushButton new QPushButton(this); connect(pushButton, QPushButton::clicked, this, Widget::changeText);实现changeText槽函数与图形化实现中的函数体类似只是将ui-pushButton换成pushButton。四、乱码问题与文字输出1. 编码问题计算机中汉字占用的字节数取决于编码格式GBK为 2 字节UTF-8为 3 字节。Windows 系统默认使用GBK编码Linux 系统默认使用UTF-8编码。QT 默认使用UTF-8编码。如果源文件编码不一致可能会导致中文显示乱码。2. qDebug 输出qDebug()可以自动处理编码问题方便地输出调试信息。qDebug() 你好 \n;此外qDebug还可以通过宏定义等方式统一关闭所有调试信息的打印便于发布。五、坐标系统QT 使用左手系坐标Y 轴向下为正方向X 轴向右为正方向。QWidget设置位置如使用move函数时坐标是相对于其父控件父窗口的(0, 0)点就是父窗口的左上角。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询