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

网站怎么做json数据库成全视频免费高清观看在线动漫电影

网站怎么做json数据库,成全视频免费高清观看在线动漫电影,不记得域名管理网站,如何在网站上做标记圈信息功能描述#xff1a;开发一个类似于 Windows 命令行提示符或 Linux 命令行终端的应用程序 一、最终演示效果 QtCmd 不是因为它是 Qt 的组件#xff0c;而是采用 Qt 开发了一个类似 Windows 命令提示符或者 Linux 命令行终端的应用程序#xff0c;故取名为 QtCmd。 上述演示… 功能描述开发一个类似于 Windows 命令行提示符或 Linux 命令行终端的应用程序 一、最终演示效果  QtCmd 不是因为它是 Qt 的组件而是采用 Qt 开发了一个类似 Windows 命令提示符或者 Linux 命令行终端的应用程序故取名为 QtCmd。 上述演示是在 Win10 操作系统下模拟命令提示符的功能输入错误的指令(如 windows 下输入 ls 指令)错误输出的字体颜色为红色输入正确的指令(如 windows 下输入dir 指令)标准输出的字体颜色显示正常。 本应用程序原为一个项目的子功能实现命令行终端的界面现把这一功能单独封装了一个窗体类分享给大家参考可以直接集成到你的应用程序中。 具体功能使用就不多说了和命令行终端的功能一模一样只是说把这一功能集成到自己的应用程序中了命令行终端支持的指令本终端全部支持。 二、命令行终端程序开发 命令行终端程序主要在 terminalwidget.h 和 terminalwidget.cpp 中封装了 TerminalWidget 类实现了有关命令输入和信息输出的所有功能。 terminalwidget.h 文件代码如下 #ifndef TERMINALWIDGET_H #define TERMINALWIDGET_H#include QTextEdit #include QKeyEvent #include QFont #include QProcess #include QByteArray #include QLabel #include QHBoxLayout #include QVBoxLayout #include QTextLayout #include QTextCursor #include QTextBlock #include QTextCodec #include assert.hclass TerminalWidget: public QTextEdit {Q_OBJECT public:TerminalWidget();protected:void keyPressEvent(QKeyEvent *e);private:// 字体QFont font;// 命令行终端进程QProcess * proc;// 光标位置long long lastPosition 0;// 上一次的输入内容QByteArray lastInput;public slots:/*** brief readyReadStandardOutputSlot 标准输出*/void readyReadStandardOutputSlot();/*** brief readyReadStandardErrorSlot 错误输出*/void readyReadStandardErrorSlot(); };#endif // TERMINALWIDGET_H terminalwidget.cpp 文件代码如下 #include terminalwidget.h #include QDebugTerminalWidget::TerminalWidget() {setStyleSheet(background-color:rgb(0,0,0); color:rgb(255,255,255); border:0px;);setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);resize(1000,700);setWindowTitle(命令行提示符);font.setFamily(Times New Roman);font.setPixelSize(14);setFont(font);proc new QProcess();connect(proc,SIGNAL(readyReadStandardOutput()),this,SLOT(readyReadStandardOutputSlot()));connect(proc,SIGNAL(readyReadStandardError()),this,SLOT(readyReadStandardErrorSlot()));#ifdef Q_OS_WINproc-start(cmd); #elif Q_OS_LINUXproc-start(bash); #endifQTextCursor editCursor textCursor();QTextBlockFormat textBlockFormat;textBlockFormat.setLineHeight(20, QTextBlockFormat::FixedHeight);editCursor.setBlockFormat(textBlockFormat);setTextCursor(editCursor); }void TerminalWidget::keyPressEvent(QKeyEvent *e) {QTextCursor editCursor textCursor();// Qt::Key_Enter 是小键盘数字键盘的 Enter对应的虚拟键码为0x01000005// Qt::Key_Return 是大键盘区的 Enter对应的虚拟键码为0x01000004if(e-key() Qt::Key_Return || e-key() Qt::Key_Enter){e-ignore();editCursor.setPosition(lastPosition, QTextCursor::MoveAnchor);editCursor.movePosition(QTextCursor::End, QTextCursor::KeepAnchor);QString string editCursor.selectedText();editCursor.clearSelection(); #ifdef Q_OS_WINlastInput string.toLocal8Bit() \r \n; #elif Q_OS_LINUXlastInput string.toLocal8Bit() \n; #endifproc-write(lastInput);return;}else if(e-key() Qt::Key_Backspace editCursor.position() lastPosition)return;else if(e-key() Qt::Key_Delete editCursor.position() lastPosition)return;elsereturn QTextEdit::keyPressEvent(e); }void TerminalWidget::readyReadStandardOutputSlot() {QByteArray ba proc-readAllStandardOutput();QTextCodec * textCodec QTextCodec::codecForName(System);// assert 断言如果 textCodec 为空则编译报错assert(textCodec ! nullptr);QString output textCodec-toUnicode(ba);if (output.length() 0 output ! QString::fromLocal8Bit(lastInput)){setTextColor(Qt::white);append(output.trimmed());moveCursor(QTextCursor::End);lastPosition textCursor().position();} }void TerminalWidget::readyReadStandardErrorSlot() {QByteArray ba proc-readAllStandardError();QTextCodec* textCodec QTextCodec::codecForName(System);// assert 断言如果 textCodec 为空则编译报错assert(textCodec ! nullptr);QString output textCodec-toUnicode(ba);if (output.length() 0 output ! QString::fromLocal8Bit(lastInput)){setTextColor(Qt::red);append(output.trimmed());moveCursor(QTextCursor::End);lastPosition textCursor().position();} } 完整的代码已经贴上每个函数的备注写的非常清楚如有不清楚的地方可以私信我。 完整代码压缩包下载地址  https://download.csdn.net/download/tanou3212/88222855https://download.csdn.net/download/tanou3212/88222855如果出现中文乱码的问题请参考我的另外一篇博客《第十课Qt 字符编码和中文乱码相关问题》 百分百能解决你的问题
http://www.hkea.cn/news/14308143/

相关文章:

  • 网站服务器搭建的步骤聊城网站制作信息
  • 做网站 发现对方传销重庆沙坪坝做网站
  • 百度云 免费 网站主机网站开发对cpu要求高吗
  • 本地高端网站建设信息大全wordpress注册确认信
  • 自己做网站怎么挣钱免费画图网站
  • 基于营销导向的企业网站建设快手推广
  • 做 ps pr 赚钱的 网站家在深圳业主论坛
  • asp.net微信网站企业网站推广的模式
  • 优速网站建设网站建设飠金手指科杰十二
  • 网站建设开发步骤衡阳建设网站制作
  • 如何建设一个彩票网站wordpress没有文章标题
  • 备案期间 需要关闭网站流量推广怎么做
  • 有部分网站打不开想学做网站
  • 网站建设计入哪个明细科目腾讯企业邮箱怎么申请
  • 企业网站建设的趋势设计网站名字
  • 广州网站制作到诺然js 网站开发
  • 花乡做网站公司大城县建设局网站
  • 外国人企业网站怎么做工商注册在哪个网站
  • 网站上线稳定后的工作wordpress get_row
  • 专业网站建设哪里有网站建设标准依据
  • 网站开发代码交接文档书无锡华庄行业网站建设
  • 小型企业网站系统新兴县城乡建设局网站
  • 手机怎么自己做网站网络运营培训学校
  • 用.net core 做网站dede网站迁移步骤
  • 学院网站建设的意义网站qq临时会话
  • 企业网站需要多大带宽长春市做网站推广
  • 大学网站建设方案书做网站获取手机号码
  • 阿里云重新备案注销主体还是注销网站如何把产品放到网上销售
  • 建设网站网页网站建设公司销售前景
  • 如何做盆栽蔬菜网站如何做网络免费推广方案