chatgpt基于Qt实现的To-Do List小项目(内附源码),码农将何去何从....

这篇具有很好参考价值的文章主要介绍了chatgpt基于Qt实现的To-Do List小项目(内附源码),码农将何去何从....。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

笔者前言:

OpenAI前一段发布聊天机器人模型ChatGPT,迅速出圈全网。chatgpt的出现,让LLMs走进了普通人的视野。同时,也让传统的AI助手变成了原始人。chatgpt向我们展示了LLM目前的天花板。而且这个天花板还相当高。

在突发奇想下,我决定用chatgpt写一个小项目,并且让他写一篇关于该项目的文章。

该项目以及博文全部是chatgpt写的,步骤详细,简单易懂

界面展示

chatgpt基于Qt实现的To-Do List小项目(内附源码),码农将何去何从....

好的,下面是一篇介绍使用 Qt 框架创建 To-Do List 应用程序的 CSDN 博客文章:

文章标题:使用 Qt 框架创建 To-Do List 应用程序

介绍:

To-Do List 是一种非常常见的任务管理工具,可以帮助用户记录和追踪待办事项。在本篇博客中,我们将介绍如何使用 Qt 框架创建一个简单的 To-Do List 应用程序,该程序可以让用户添加、编辑和删除任务,并且可以将任务状态标记为已完成或未完成。

步骤:

1.创建 Qt 应用程序

首先,我们需要使用 Qt Creator 创建一个新的 Qt 应用程序。打开 Qt Creator,选择 File -> New File or Project,然后选择 Qt Widgets Application,输入应用程序的名称和位置,最后单击“Next”。

在下一个页面上,您可以选择预设的框架和配置,或者自定义您的应用程序。在这个示例中,我们将使用默认配置。单击“Next”以继续。

在最后一个页面上,您可以选择使用 Git 版本控制器、创建一个类、在构建应用程序时运行自定义命令等。在这个示例中,我们将使用默认设置。单击“Finish”以创建新的 Qt 应用程序。

2.创建 UI 界面

在 Qt Creator 中,我们可以使用可视化设计工具创建应用程序的 UI 界面。打开“Design”视图,并向应用程序的主窗口中添加一些控件,例如一个文本框、一个按钮和一个列表。

将文本框和按钮分别命名为“m_taskLineEdit”和“m_addTaskButton”,将列表命名为“m_taskListWidget”。可以使用“Object Inspector”视图或直接在代码中定义这些控件。

在“MainWindow.h”头文件中定义这些控件:

#include <QMainWindow>
#include <QListWidget>
#include <QLineEdit>
#include <QPushButton>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void addTask();
    void removeTask();
    void markTaskAsCompleted();
    void loadTasks();
    void saveTasks();

private:
    void createUI();
    void setupConnections();

    QListWidget *m_taskListWidget;
    QLineEdit *m_taskLineEdit;
    QPushButton *m_addTaskButton;
    QPushButton *m_removeTaskButton;
    QPushButton *m_markAsCompletedButton;
};

在“MainWindow.cpp”文件中,我们可以使用“setupUI()”函数创建 UI 界面并将其添加到主窗口中。

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    createUI();
    setupConnections();
    loadTasks();
}

void MainWindow::createUI()
{
    // Create the task list widget
    m_taskListWidget = new QListWidget(this);
    setCentralWidget(m_taskListWidget);

    // Create the task input field and the add button
    m_taskLineEdit = new QLineEdit(this);
    m_addTaskButton = new QPushButton(tr("Add Task"), this);

    // Create the remove button and themark as completed button
    m_removeTaskButton = new QPushButton(tr("Remove Task"), this);
    m_markAsCompletedButton = new QPushButton(tr("Mark as Completed"), this);
    // Create a horizontal layout for the task input field and the add button
    QHBoxLayout *inputLayout = new QHBoxLayout;
    inputLayout->addWidget(m_taskLineEdit);
    inputLayout->addWidget(m_addTaskButton);

    // Create a horizontal layout for the remove button and the mark as completed button
    QHBoxLayout *buttonLayout = new QHBoxLayout;
    buttonLayout->addWidget(m_removeTaskButton);
        buttonLayout->addWidget(m_markAsCompletedButton);

    // Create a vertical layout for the input layout, the task list widget and the         button layout
    QVBoxLayout *mainLayout = new QVBoxLayout;
    mainLayout->addLayout(inputLayout);
    mainLayout->addWidget(m_taskListWidget);
    mainLayout->addLayout(buttonLayout);

    // Set the main layout of the main window
    QWidget *centralWidget = new QWidget(this);
    centralWidget->setLayout(mainLayout);
    setCentralWidget(centralWidget);
}

3. 添加任务

当用户在文本框中输入任务并单击“Add Task”按钮时,我们需要将该任务添加到任务列表中。在“MainWindow.cpp”文件中,我们可以使用“addTask()”函数来实现此功能。`

void MainWindow::addTask()
{
    // Get the task from the text input field
    QString task = m_taskLineEdit->text().trimmed();

    // If the task is not empty, add it to the list
    if (!task.isEmpty()) {
        QListWidgetItem *item = new QListWidgetItem(task, m_taskListWidget);
        item->setFlags(item->flags() | Qt::ItemIsEditable);
        m_taskListWidget->addItem(item);
        m_taskLineEdit->clear();
    }
}

在此函数中,我们首先从文本框中获取任务字符串。如果该字符串不为空,则创建一个 QListWidgetItem 对象,并将其添加到任务列表中。我们还设置了该对象的标志以允许用户在列表中编辑任务。最后,我们清空了文本框。

我们需要将“addTask()”函数与“m_addTaskButton”按钮的“clicked()”信号连接起来,以便在用户单击该按钮时调用该函数。在“setupConnections()”函数中添加以下代码:

connect(m_addTaskButton, &QPushButton::clicked, this, &MainWindow::addTask);

4.删除任务

当用户选择一个任务并单击“Remove Task”按钮时,我们需要将该任务从任务列表中删除。在“MainWindow.cpp”文件中,我们可以使用“removeTask()”函数来实现此功能。

void MainWindow::removeTask()
{
    // Get the selected task and remove it from the list
    QList<QListWidgetItem *> selectedItems = m_taskListWidget->selectedItems();
    for (auto item : selectedItems) {
        delete item;
    }
}

5.标记任务

当用户选择一个任务并单击“Mark as Completed”按钮时,我们需要将该任务标记为已完成。在“MainWindow.cpp”文件中,我们可以使用“markTaskAsCompleted()”函数来实现此功能。

void MainWindow::markTaskAsCompleted()
{
    // Get the selected task and set its text decoration to strike out
    QList<QListWidgetItem *> selectedItems = m_taskListWidget->selectedItems();
    for (auto item : selectedItems) {
        QFont font = item->font();
        font.setStrikeOut(true);
        item->setFont(font);
    }
}

在此函数中,我们首先获取用户选择的任务,然后将其文本装饰设置为删除线。

我们需要将“markTaskAsCompleted()”函数与“m_markAsCompletedButton”按钮的“clicked()”信号连接起来,以便在用户单击该按钮时调用该函数。在“setupConnections()”函数中添加以下代码:

connect(m_markAsCompletedButton, &QPushButton::clicked, 
this, &MainWindow::markTaskAsCompleted);

6.处理窗口关闭事件

当用户关闭窗口时,我们需要询问他们是否真的想退出应用程序。在“MainWindow.cpp”文件中,我们可以使用“closeEvent()”函数来实现此功能。

void MainWindow::closeEvent(QCloseEvent *event)
{
    // Ask the user if they really want to quit
    QMessageBox::StandardButton resBtn = QMessageBox::question(this, tr("Todo List"),
                                                               tr("Are you sure you want to exit?\n"),
                                                               QMessageBox::Cancel | QMessageBox::No | QMessageBox::Yes,
                                                               QMessageBox::Yes);
    if (resBtn != QMessageBox::Yes) {
        event->ignore();
    } else {
        event->accept();
    }
}

在此函数中,我们创建了一个 QMessageBox 对话框来询问用户是否真的想退出应用程序。如果用户单击“是”按钮,则我们接受关闭事件,否则我们忽略它。

这就完成了我们的 To-Do List 应用程序!现在我们可以编译并运行它,添加、删除和标记任务为已完成。当我们尝试关闭应用程序时,它会提示我们是否真的想退出。

源代码:link 点我下载

提取码:f56u

总结

作为一个刚入行的新码农,在被ChatGPT震撼之后,胡言乱语。自从我接触代码起,作为一名程序员,我居然第一次对程序产生了恐惧感,那种从无形的世界里给了我有形的一拳,让我感到后怕。。。

但是,我觉得现阶段最重要的是,要学会利用好AI。AI可以帮助我们以更高效的方式思考和工作。要学习如何与AI沟通,如何利用AI的能力提高自己的效率。比如,过去要调用一个API,需要一遍遍的查阅各种文档、例子以及教程。现在,只要一句话,我们就能得到一段几乎可以直接使用的代码。但是,同时也要加强自身知识的积累。未来能留存下来的人,除了能利用AI,也要能发现AI的问题。互补才是生存之道。文章来源地址https://www.toymoban.com/news/detail-421317.html

到了这里,关于chatgpt基于Qt实现的To-Do List小项目(内附源码),码农将何去何从....的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Win10上无法安装Microsoft To-Do客户端的解决办法

    参考文档: 手把手教你在Win10上安装Microsoft To-Do客户端 - 简书 Mocrosoft To-do ( 微软待办 ) 是一个包含推荐任务的个性化的每日规划器,主要保存代办列表等。它是 全平台客户端,在 ios 、安卓、 mac 上都能完美运行,可唯独在 win10 上,有时候由于应用商店打不开而无法下载。

    2024年02月04日
    浏览(90)
  • 【安装教程】Win10上安装Microsoft To-Do客户端(手机端)

    此方法是应用于微软商店无法安装、安装不成功等情况 原文:手把手教你在Win10上安装Microsoft To-Do客户端:https://www.jianshu.com/p/32a1ea417cba 1.访问微软网站,找到To-Do的下载地址。(https://apps.microsoft.com/store/detail/microsoft-to-do-lists-tasks-reminders/9NBLGGH5R558?hl=zh-cngl=cnrtc=2activetab=pivot%3A

    2024年02月11日
    浏览(47)
  • 利用Chat GPT建立一个To-Do应用程序--我们终于遇到了我们的替代者吗?

    海外Udemy、Coursera、Skillshare、Cantrill等平台精品编码课程,请访问 https://www.postcode.vip 我们看到GitHub Copilot在2021年10月发布,整个开发社区都疯了。 有些人声称我们很快就会失去工作,而其他人,像我一样,认为虽然这个工具很有趣,但它离替代品还很远。它可以提供更好的自

    2023年04月23日
    浏览(44)
  • 【ChatGPT】如何修复access denied you do not have access to chat.openai.com

    在我们使用chatgpt的时候,可能会遇到这样的问题: 在 OpenAI 上使用任何平台之前,您需要确保一些基本的事情。在使用 OpenAI 的网站时,这可能会导致问题。最常见的一种是拒绝访问。那么chatgpt access denied解决要怎么办呢? ChatGPT 拥有庞大的 1 亿活跃用户,因此服务器过载有

    2024年02月04日
    浏览(66)
  • python基于opencv和tkinter实现人脸识别【内附完整代码】

    人脸识别技术已经在许多领域得到了广泛应用,例如安防、金融、医疗等等。人脸识别可以帮助我们识别和验证一个人的身份,这是一项非常重要的任务。本篇博客将介绍如何使用Python和OpenCV库进行人脸识别。我们将学习如何使用OpenCV中的人脸检测器检测图像中的人脸,如何

    2023年04月14日
    浏览(40)
  • 【图书管理系统】Servlet+JSP+MySql 实现的一个前后端 javaweb项目(内附源码)

    源码分享在文末! 学习完Javaweb的知识后做了个项目练练手,我选择了经典而且比较简单的图书管理系统。 最近有时间,整理了一下,分享给大家,希望能够帮到你! 基于B/S结构 前端: HTML+CSS+JS +JQuery 后端: Servlet+JSP+MySql 操作系统: win8/win10 JDK: 8.0 开发工具: Intellij IDEA2020.1 旗舰

    2024年02月06日
    浏览(50)
  • 基于Qt数据库项目实现(Sqlite3为例)|考查数据库、表格(QTableView 显示)(进阶)

    01 数据库表格(QTableView 显示) 本小节设计一个生活中的例子,使用数据库修改/查询员工的编号、姓名、年龄、性别与照片信息。 本例将数据库的内容显示到 QTableView 上。如果只是简单的显示数据库的内容到QTableView 上,可以使用下面的方法,此方法 QTableView 上可以看到

    2024年02月20日
    浏览(48)
  • 基于Qt数据库项目实现(Sqlite3为例)|考查数据库、绘制(画家)、事件等知识点(进阶)

    坚持最初的梦想,扬帆起航,乘风破浪,永不言败。 01 数据库 数据库是什么?简易言之,就是保存数据的文件。可以存储大量数据,包括插入数据、更新数据、截取数据等。用专业术语来说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计

    2024年02月19日
    浏览(45)
  • 【Android-ChatGPT】安装Android Studio遇到Unable to access Android SDK add-on list的错误【亲测解决】

    【问题】 安装Android Studio遇到Unable to access Android SDK add-on list的错误。 【解决方案】 这个一般是没有设置代理造成的,点击setup proxy进行代理设置。 点击Android Studio - Preferences,在 Appearance Behavior的System Settings下,选择 HTTP Proxy,第二个自动代理检测,代理地址写, http://mirro

    2024年02月07日
    浏览(50)
  • 使用Powershell安装Microsoft To Do软件

    提示:本文适用于没有Microsoft App 商店的windows 10电脑。 1、打开https://store.rg-adguard.net/ 2、在另一个页面,百度搜索 微软商店,打开网址https://www.microsoft.com/zh-cn/store/,搜索 to do 3、找到软件并进入,复制这个网址,粘贴到https://store.rg-adguard.net/ 4、 下载如下软件 Microsoft.UI.Xam

    2024年02月04日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包