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

golang 做网站搜索引擎广告的优缺点

golang 做网站,搜索引擎广告的优缺点,网站权重难做,吉林沈阳网站建设界面: 添加了聊天显示区域(QTextEdit) 添加了发送按钮和清空对话按钮 优化了布局和窗口大小添加了时间戳显示 2、功能: 支持实时对话可以清空对话历史 支持按回车发送消息 添加了简单的关键词匹配响应系统 交互体验&#x…

 

  1. 界面:
  • 添加了聊天显示区域(QTextEdit)
  • 添加了发送按钮和清空对话按钮
  • 优化了布局和窗口大小
  • 添加了时间戳显示

 2、功能:

  • 支持实时对话
  • 可以清空对话历史
  • 支持按回车发送消息
  • 添加了简单的关键词匹配响应系统
  1. 交互体验:
  • 消息自动滚动到底部
  • 清晰的用户/AI消息区分
  • 时间戳显示
  • 更友好的界面提示

目前的 getAIResponse 函数使用了一个简单的关键词匹配系统来模拟AI响应

具体代码:

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QPushButton>
#include <QLabel>
#include <QLineEdit>
#include <QTextEdit>
#include <QVBoxLayout>
#include <QScrollArea>class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void handleSendMessage();void handleClearChat();private:void appendMessage(const QString &message, bool isUser);QString getAIResponse(const QString &userInput);QWidget *centralWidget;QVBoxLayout *mainLayout;QTextEdit *chatDisplay;QLineEdit *inputField;QPushButton *sendButton;QPushButton *clearButton;QScrollArea *scrollArea;
};#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include <QDateTime>
#include <QScrollBar>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{// 创建中心部件centralWidget = new QWidget(this);setCentralWidget(centralWidget);// 创建主布局mainLayout = new QVBoxLayout(centralWidget);// 创建聊天显示区域chatDisplay = new QTextEdit(this);chatDisplay->setReadOnly(true);chatDisplay->setStyleSheet("QTextEdit { background-color: #f5f5f5; }");mainLayout->addWidget(chatDisplay);// 创建输入区域QHBoxLayout *inputLayout = new QHBoxLayout();inputField = new QLineEdit(this);inputField->setPlaceholderText("输入你的问题...");inputLayout->addWidget(inputField);sendButton = new QPushButton("发送", this);inputLayout->addWidget(sendButton);clearButton = new QPushButton("清空对话", this);inputLayout->addWidget(clearButton);mainLayout->addLayout(inputLayout);// 连接信号和槽connect(sendButton, &QPushButton::clicked, this, &MainWindow::handleSendMessage);connect(clearButton, &QPushButton::clicked, this, &MainWindow::handleClearChat);connect(inputField, &QLineEdit::returnPressed, this, &MainWindow::handleSendMessage);// 设置窗口标题和大小setWindowTitle("AI 问答系统");resize(600, 400);// 添加欢迎消息appendMessage("你好!我是AI助手,有什么我可以帮你的吗?", false);
}MainWindow::~MainWindow()
{
}void MainWindow::handleSendMessage()
{QString userInput = inputField->text().trimmed();if (userInput.isEmpty()) {return;}// 显示用户消息appendMessage(userInput, true);inputField->clear();// 获取并显示AI响应QString aiResponse = getAIResponse(userInput);appendMessage(aiResponse, false);
}void MainWindow::handleClearChat()
{chatDisplay->clear();appendMessage("你好!我是AI助手,有什么我可以帮你的吗?", false);
}void MainWindow::appendMessage(const QString &message, bool isUser)
{QString timestamp = QDateTime::currentDateTime().toString("hh:mm:ss");QString formattedMessage = QString("[%1] %2: %3\n").arg(timestamp).arg(isUser ? "你" : "AI").arg(message);chatDisplay->append(formattedMessage);// 滚动到底部QScrollBar *scrollbar = chatDisplay->verticalScrollBar();scrollbar->setValue(scrollbar->maximum());
}QString MainWindow::getAIResponse(const QString &userInput)
{// 这里是一个简单的模拟响应QString response;if (userInput.contains("你好") || userInput.contains("hi") || userInput.contains("hello")) {response = "你好!很高兴见到你。";}else if (userInput.contains("名字")) {response = "我是AI助手,你可以叫我小智。";}else if (userInput.contains("天气")) {response = "抱歉,我目前无法获取实时天气信息。";}else if (userInput.contains("谢谢") || userInput.contains("感谢")) {response = "不客气!如果还有其他问题,随时问我。";}else if (userInput.contains("再见") || userInput.contains("拜拜")) {response = "再见!祝你有愉快的一天!";}else {response = "我理解你的问题,但可能需要更具体的描述。你能详细说明一下吗?";}return response;
}

 main.cpp

#include "mainwindow.h"#include <QApplication>
#include <QLocale>
#include <QTranslator>int main(int argc, char *argv[])
{QApplication a(argc, argv);// QTranslator translator;// const QStringList uiLanguages = QLocale::system().uiLanguages();// for (const QString &locale : uiLanguages) {//     const QString baseName = "QtDemo_" + QLocale(locale).name();//     if (translator.load(":/i18n/" + baseName)) {//         a.installTranslator(&translator);//         break;//     }// }MainWindow w;w.show();return a.exec();
}

 QtDemo.pro

QT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++17# 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_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.hFORMS += \mainwindow.uiTRANSLATIONS += \QtDemo_zh_CN.ts
CONFIG += lrelease
CONFIG += embed_translations# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

 运行

 看不懂你的话可以先看第一个Qt项目

http://www.dtcms.com/wzjs/38593.html

相关文章:

  • 哪些网站自己做宣传免费制作详情页的网站
  • minecraft做图网站济南seo网站排名关键词优化
  • php做网站如何配置域名的福建seo学校
  • 公司自己建立网站seo中心
  • 网站建设w亿玛酷1负责爱站网关键词挖掘查询工具
  • 宁夏百度网站怎么做互联网哪个行业前景好
  • 做微信公众号网站今天刚刚发生的重大新闻
  • 安徽人防工程建设网站百度站长之家工具
  • 网站建设维护费会计科目sem竞价
  • 公司做网站比较好网站优化北京seo
  • 东莞建网站服务百度搜索推广方案
  • 购物平台网站建设流程深圳seo网站优化公司
  • 如何查看网站架构百度导航最新版本下载安装
  • 光谷网站建设直播回放老卡怎么回事
  • 怎么自己网站搜不到了建站系统哪个比较好
  • asp做网站优点爱站网关键词查询工具
  • ASP.NET实用网站开发 课后答案百度知道网页入口
  • 做模块高考题的网站自动点击器永久免费版
  • 公司网站打开的时候显示该网站多个子域名中病毒运营主要做什么工作
  • 160 作者 网站建设国内最新新闻大事
  • 天天向上做图网站企业管理培训课程报名
  • 网站建设和空间企业营销培训课程
  • 北京做网站公司哪家好河北网站seo
  • 全国疫情排行榜个人网站如何优化关键词
  • 网站底备案号链接代码百度后台登录
  • html点餐网页简单代码前端seo优化
  • wordpress付费开通站点googleseo排名公司
  • 商务网站建设与维护实训报告优化设计方案
  • 石家庄建站网页模板河北百度推广电话
  • 内蒙古做网站的公司国家高新技术企业名单