文章目录
- 前言
-
- 1. `openai` 与 `chatgpt`的关系?
- 2.使用qtcreator创建一个基于 Qt QCheckBox 按钮c++例程,项目名称"_qcheckbox" ,类名称为默认“Widget”,基类选取“QWidget”,不勾选“Generate form”,不使用拖取控件,控件全部采用编程,主窗口上放置三个QCheckBox 按钮分为两组,第一组一个按钮,有三种状态,选中,未选中,半选中;第二组,两个按钮,可以多选,放在QButtonGroup 控件中,程序包括三个控件的响应函数,希望整个过程详细完整。
- 3. Qt4和Qt5两个例子主要有什么区别?
- 4. 如果我需要给按钮加图片,我应当下载哪一类文件
- 5. 为什么要将图片加入到资源文件?与你上面的做法有什么区别?
- 6、checkBox 的半选状态有什么用途
- 7、this->setStyleSheet("QMainWindow {background-color: rgba(100, 100, 100, 100%);}");
- 总结
前言
我是一个喜欢“打破沙锅问答底”的人,遇到了ChatGpt
这个好老师。就像久旱逢甘雨,学习任何知识,都变得那么自然。
读代码,我可以一个“宏”,一个“函数”地“问”。
学习Qt,从安装编译环境到控件应用程序开发,都是一点一点问出来的。不懂的问题,可以反复地、从不同角度发问,直到弄懂为止。而我只需要按照ChatGpt的指示,安装环境,生成项目,编写代码,当然,所有的部分,都经过再次核实并亲手测试(总所周知的原因,ChatGpt有所谓的幻想问题,回答问题并不能直接作为标准答案)。
下面是我在完成《Qt常用的按钮控件编程(四)-- QCheckBox 按钮》一文中向ChatGpt提出的部分问题和它的回答。
感谢朋友提供的chatgpt软件,特别是其中的gpt-box桌面工具,更是我离不开的工具。感兴趣的同仁可前往一观(apsuai.com)。
1. openai
与 chatgpt
的关系?
OpenAI 是一家人工智能研究实验室,致力于推进人工智能的研究和创新,其目标是确保人工智能可以安全且对人类有益。OpenAI 开发了许多AI技术和模型,其中之一便是 GPT(即生成预测器变压器,Generative Pre-trained Transformer)模型。
Chatbot GPT(今后通常称为 ChatGPT)是由 OpenAI 开发的一种聊天机器人技术。ChatGPT 是基于 GPT 模型的一种应用,旨在自然语言处理(NLP)和对话生成方面提供高性能。ChatGPT 用于与用户进行对话,回答问题,生成文本等任务。例如,在本次对话中,您正在与基于 GPT 模型的AI助手进行互动。
总之,OpenAI 是开发和创建聊天机器人 ChatGPT 的公司,而 ChatGPT 是基于 OpenAI 的 GPT 模型的一种应用。
2.使用qtcreator创建一个基于 Qt QCheckBox 按钮c++例程,项目名称"_qcheckbox" ,类名称为默认“Widget”,基类选取“QWidget”,不勾选“Generate form”,不使用拖取控件,控件全部采用编程,主窗口上放置三个QCheckBox 按钮分为两组,第一组一个按钮,有三种状态,选中,未选中,半选中;第二组,两个按钮,可以多选,放在QButtonGroup 控件中,程序包括三个控件的响应函数,希望整个过程详细完整。
-
打开 Qt Creator,单击左上角的“新建文件或项目”按钮,然后选择“应用程序”并单击“下一步”。
-
输入项目的名称(例如:
_qcheckbox
),选择要保存的位置,下一步。 -
在“应用程序窗口”页面上,选择“Widgets Application”(应用程序模板)并选中“QWidget”,单击“下一步”。
-
在“项目标题和路径”页面上,选择“桌面 Qt 5.x.y MinGW 32位”,然后“下一步”。
-
在“类定义”页面上,可以保留默认设置(类名为“Widget”,继承“QWidget”),点击“下一步”。
-
最后,单击“完成”以创建项目。
-
在
widget.h
头文件中添加所需的头文件和类定义:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QCheckBox>
#include <QButtonGroup>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private:
QCheckBox *tristateCheckbox;
QCheckBox *multiSelectCheckbox1;
QCheckBox *multiSelectCheckbox2;
QButtonGroup *multiSelectButtonGroup;
void createTristateCheckbox();
void createMultiSelectCheckboxes();
void connectSignalsAndSlots();
void tristateCheckboxChanged(int);
void multiSelectCheckboxChanged(int);
};
#endif // WIDGET_H
- 在
widget.cpp
实现文件中添加如下代码,实现创建并添加控件的功能。同时,这个函数为控件添加信号/槽,并且设置包含三个控件的窗口:
#include "widget.h"