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

电商 网站建设怎么给一个网站做搜索功能

电商 网站建设,怎么给一个网站做搜索功能,做网站最便宜要多少钱,做网站第三方引言 此文用于记录按下鼠标左键不放#xff0c;拖动文件到程序中打开。该示例中只设置了可以拖动的文件类型为.h,.cpp,.txt这三种文件类型。 程序运行的效果#xff1a; 示例 下面是具体的实现。 项目的结构#xff1a; 具体的实现代码#xff0c;如下#xff1a; mai…引言 此文用于记录按下鼠标左键不放拖动文件到程序中打开。该示例中只设置了可以拖动的文件类型为.h,.cpp,.txt这三种文件类型。 程序运行的效果 示例 下面是具体的实现。 项目的结构 具体的实现代码如下 main.cpp #include dialog.h#include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);Dialog w;w.show();return a.exec(); }dialog.h #ifndef DIALOG_H #define DIALOG_H#include QDialog/********************************************功能描述1.实现文件的拖拽打开。 ********************************************/QT_BEGIN_NAMESPACE namespace Ui { class Dialog; } QT_END_NAMESPACEclass Dialog : public QDialog {Q_OBJECTpublic:Dialog(QWidget *parent nullptr);~Dialog(); protected:void dragEnterEvent(QDragEnterEvent *event);//拖拽进入void dropEvent(QDropEvent *event);//释放拖拽的文件QString GetCorrectUnicode(const QByteArray ba);//返回ba的UTF-8编码的QString字符串 private:Ui::Dialog *ui; }; #endif // DIALOG_Hdialog.cpp #include dialog.h #include ui_dialog.h #include QDragEnterEvent #include QMimeData #include QFile #include QTextCodec #include QDebugDialog::Dialog(QWidget *parent): QDialog(parent), ui(new Ui::Dialog) {ui-setupUi(this);setAcceptDrops(true);ui-textEdit-setAcceptDrops(false);//设置不接收拖拽事件否则会进入该子控件的拖拽事件中 }Dialog::~Dialog() {delete ui; }void Dialog::dragEnterEvent(QDragEnterEvent *event) {if (event-mimeData()-hasUrls()) {event-acceptProposedAction();}else {event-ignore();} }void Dialog::dropEvent(QDropEvent *event) {if (event-mimeData()-hasUrls() (event-mimeData()-urls()[0].fileName().right(3).compare(cpp) 0|| event-mimeData()-urls()[0].fileName().right(3).compare(txt) 0|| event-mimeData()-urls()[0].fileName().right(1).compare(h) 0)) {const QListQUrl urls event-mimeData()-urls();QString filePath urls.at(0).toLocalFile();QFile file(filePath);if (file.open(QIODevice::ReadOnly)) {QByteArray byteArray file.readAll();QString strContent GetCorrectUnicode(byteArray);//返回utf-8编码的字符串QString // QString strContent QString::fromLocal8Bit(byteArray).toUtf8();//当文件的编码格式为GB2312编码采用这种方式不乱码 // QString strContent byteArray;//当文件本身的编码格式为utf-8时采用这种方式不乱码ui-textEdit-setText(strContent);}else {qDebug()QStringLiteral(文件)filePathQStringLiteral(打不开);}} }QString Dialog::GetCorrectUnicode(const QByteArray ba) {QTextCodec::ConverterState state;QTextCodec *codec QTextCodec::codecForName(UTF-8);codec-toUnicode( ba.constData(), ba.size(), state);if (state.invalidChars 0){return QTextCodec::codecForName( GBK )-toUnicode(ba);}else{return ba;} }ui文件的结构 以上便是文件拖拽打开的实现。 值得注意的是 1.文件txt,.cpp,.h可能会以不同的编码格式保存这里函数GetCorrectUnicode(const QByteArray ba)可以将字符串转换为Utf-8编码的QString字符串。所以无论是那种格式应该都可以正常的拖拽加载到显示文本中。 2.对于单一的编码格式保存的文件可以单一处理。当文件的编码格式为utf-8时可以直接将从文件中读取的内容设置到显示文本。如 QByteArray byteArray file.readAll();QString strContent byteArray;//当文件本身的编码格式为utf-8时采用这种方式含中文不乱码。当文件保存的编码格式为gb2312时这时可以这样处理 QByteArray byteArray file.readAll(); QString strContent QString::fromLocal8Bit(byteArray).toUtf8();//当文件的编码格式为GB2312编码采用这种方式不乱码可以看出还是采用将编码格式统一转换为utf-8比较方便这样就不用区分文件保存时的编码格式了。 3.对于文件拖拽首先改类必须能够接收拖拽也就是必须在构造函数中设置setAcceptDrops(true);其次改类的子控件必须设置为不接受拖拽这样当事件到来的时候改类被重写的拖拽事件便会去处理。如果子控件没有设置不接受拖拽那么拖拽事件会直接在子控件的拖拽事件中处理。
http://www.yutouwan.com/news/103225/

相关文章:

  • 网站备案链接地址龙岩网上通缉犯名单
  • 品牌网站建设搜搜磐石网络ui设计网站模板
  • 沧县网站制作价格什么是网络营销常见的手段有哪些
  • 苏州seo建站采集类淘宝客网站怎么做
  • 沧州哪家做网站好网站运营每天做啥工作
  • 北京高端网站设计公司网站图片优化器
  • 怎么创建免费自己的网站平台网站开发一般用哪个浏览器
  • 东坑做网站wordpress建站过时了
  • 网站适配手机怎么做网站内部建设和程序
  • 泉州模板自助建站全屏的翻页网站这么做
  • 专业的昆明网站建设微商代理0元0投入
  • 建立网站大约多少钱站长工具权重查询
  • 网站建设费用的会计分录株洲做网站多少钱
  • 厦门网站做的比较好wordpress免费英文主题
  • 网站添加微信支付桂林网站建设内容
  • 长春网站推广上海小程序开发合肥
  • 网站制作的付款方式wordpress网站地图生成
  • 桂林做手机网站软件开发平台开源
  • html 网站首页dede茶叶网站模板
  • 关于企业网站建设的请示乐辰网站建设
  • 本地常州网站建设上海市开办企业一窗网上服务
  • 网络策划就业前景wordpress哪种主页更利于seo
  • 深圳营销网站设计对于网站建设的意见和建议
  • 南京网站建设招聘怎么建立微信群
  • 我在某网站网站做代理重庆网站建设网站
  • 四川淘宝网站建设方案晋城做网站公司
  • 深圳市建设网站网站空间域名申请网站
  • 企联网站建设网站有哪些备案
  • 基于thinkphp网站制作提供手机自适应网站
  • 集运网站建设宁波seo排名优化培训