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

青岛网站seo价格做网站和优化共多少钱

青岛网站seo价格,做网站和优化共多少钱,用wordpress教程视频,中小型企业网络建设一.UI界面搭建 (ui界面使用#xff0c;界面布局#xff0c;各控件介绍#xff0c;界面大小调整) 二.信号槽机制实现文件的打开#xff0c;保存#xff0c;退出 (信号槽#xff0c;QFile文件类#xff0c;QTextStream类#xff0c;QFileDialog文件对话框#xff0…一.UI界面搭建 (ui界面使用界面布局各控件介绍界面大小调整) 二.信号槽机制实现文件的打开保存退出 (信号槽QFile文件类QTextStream类QFileDialog文件对话框QMessage消息对话框) //实现功能 : 打开目标文件按照右下角ComboBox所选编码格式打开 void Widget::on_btnopen_clicked() {//文件内容显示到编辑栏中QString filename QFileDialog::getOpenFileName(this,打开文件,C:\\Users\\SlanderMC\\Desktop);file.setFileName(filename);file.open(QIODevice::ReadWrite|QIODevice::Text);this-setWindowTitle(filename----记事本);QTextStream stream(file);switch (ui-comboBox-currentIndex()) {case 0:stream.setEncoding(QStringConverter::Utf8);break;case 1:stream.setEncoding(QStringConverter::Utf16);break;case 2:stream.setEncoding(QStringConverter::Utf32);break;case 3:stream.setEncoding(QStringConverter::Utf32BE);break;}QString str stream.readAll();ui-textEdit-setText(str);ui-fontsizelabel-setText(QString(%1 px).arg(ui-textEdit-font().pointSize())); }//实现功能 : 若已打开文件直接保存内容到当前文件 若未打开则用户选择路径进行保存 void Widget::on_btnsave_clicked() {//编辑后的内容保存到文件if(!file.isOpen()){QString strsave QFileDialog::getSaveFileName(this,保存文件,C:\\Users\\SlanderMC\\Desktop);file.setFileName(strsave);file.open(QIODevice::WriteOnly|QIODevice::Text);this-setWindowTitle(strsave----记事本);}QTextStream stream(file);//按照当前的编码格式写入switch (ui-comboBox-currentIndex()) {case 0:stream.setEncoding(QStringConverter::Utf8);break;case 1:stream.setEncoding(QStringConverter::Utf16);break;case 2:stream.setEncoding(QStringConverter::Utf32);break;case 3:stream.setEncoding(QStringConverter::Utf32BE);break;}stream.seek(0);streamui-textEdit-toPlainText();}//实现功能 : 使用消息对话框,判断用户是否保存 //保存丢弃(断开连接置空文本框)退出 void Widget::on_btnclose_clicked() {int res QMessageBox::warning(this,提示,您想要保存吗?,QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel);switch (res) {case QMessageBox::Save:on_btnsave_clicked();break;case QMessageBox::Discard:ui-textEdit-clear();if(file.isOpen()){file.close();this-setWindowTitle(记事本);}break;case QMessageBox::Cancel://不做处理break;} } 三.实现文件切换编码格式功能 (QTextStream类comboBox选择框控件) //实现功能 : 实施切换当前文件读取的编码格式 void Widget::on_comboBox_currentIndexChanged(int index) {if(file.isOpen()){int index ui-comboBox-currentIndex();QTextStream stream(file);switch (index) {case 0:stream.setEncoding(QStringConverter::Utf8);break;case 1:stream.setEncoding(QStringConverter::Utf16);break;case 2:stream.setEncoding(QStringConverter::Utf32);break;case 3:stream.setEncoding(QStringConverter::Utf32BE);break;}//seek切换文件光标位置stream.seek(0);ui-textEdit-setText(stream.readAll());} } 四.实现鼠标当前所在行高亮的功能并在右下角显示行列 textEdit标准控件ExtraSelection类(包括cursor和QTextCharFormat两个成员) //TextEdit的光标移动信号 “cursorPositionChanged” 对应的槽函数 on_textEdit_cursorPositionChanged //--------实现功能 : 根据光标位置在右下角显示行列 void Widget::on_textEdit_cursorPositionChanged() {//textCursor光标类返回一个可视光标QTextCursor tc ui-textEdit-textCursor();//获取行列int block tc.blockNumber()1;int column tc.columnNumber()1;//字符串拼接,标签更改QString str QString(第%1行,第%2列).arg(block).arg(column);ui-labelhl-setText(str);//QTextEdit::ExtraSelection 是一个在 QTextEdit 中用来表示额外的文本选择和高亮的结构。//设置当前行高亮QListQTextEdit::ExtraSelection extralist;//ExtraSelection结构体包括两个成员 QTextCursor 和 QTextCharFormatQTextEdit::ExtraSelection extra;//QTextCursor 表示在文本中的一个位置或者区间而extra.cursor tc;//QTextCharFormat 用于定义这个区间的格式比如背景颜色、字体,下划线等。QTextCharFormat f;f.setBackground(QBrush(Qt::lightGray));f.setFontUnderline(true);f.setUnderlineColor(Qt::white);f.setUnderlineStyle(QTextCharFormat::WaveUnderline);//配置整行显示,否则无效f.setProperty(QTextFormat::FullWidthSelection,true);extra.format f;extralist.append(extra);ui-textEdit-setExtraSelections(extralist);} 五.实现CtrlO打开,CtrlS保存等快捷键功能 QShortCut类QKeySequence类lambda表达式实现信号槽 Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);ui-textEdit-installEventFilter(this);this-setWindowIcon(QIcon(:/resourse/open2.png));this-setWindowTitle(记事本);this-setLayout(ui-verticalLayout); //整体Widget垂直布局//快捷键 QT提供的QShortcut类// 并将其快捷键序列设置为 CtrlN实现的。//QKeySequence用以设置快捷键//绑定其activated信号连接到一个槽函数QShortcut *cutopen new QShortcut(QKeySequence(CtrlO),this);QShortcut *cutsave new QShortcut(QKeySequence(CtrlS),this);connect(cutopen,QShortcut::activated,[](){this-on_btnopen_clicked();});connect(cutsave,QShortcut::activated,[](){this-on_btnsave_clicked();}); }六.实现字体放大缩小功能实时显示 (快捷键实现) void Widget::fontsizeup() {QFont font ui-textEdit-font();font.setPointSize(font.pointSize()1);ui-textEdit-setFont(font);ui-fontsizelabel-setText(QString(%1 px).arg(font.pointSize())); }void Widget::fontsizedown() {QFont font ui-textEdit-font();font.setPointSize(font.pointSize()-1);ui-textEdit-setFont(font);ui-fontsizelabel-setText(QString(%1 px).arg(font.pointSize())); }//设置快捷键字体放大缩小QShortcut *cutsizeup new QShortcut(QKeySequence(Ctrl),this);QShortcut *cutsizedown new QShortcut(QKeySequence(Ctrl-),this);connect(cutsizeup,QShortcut::activated,[](){fontsizeup();});connect(cutsizedown,QShortcut::activated,[](){fontsizedown();});七.实现字体放大缩小功能(Ctrl滚轮实现) (QT事件事件过滤器eventFilterQEvent类及其子类事件处理流程事件处理函数重写) ①定义一个新的QTextEdit类重写其事件处理函数并将原本的QTextEdit提升为此类 头文件 #ifndef MYTEXTEDIT_H #define MYTEXTEDIT_H#include QTextEdit #include QWidgetclass mytextedit : public QTextEdit {Q_OBJECT public:explicit mytextedit(QWidget *parent nullptr);void wheelEvent(QWheelEvent *e) override;void keyPressEvent(QKeyEvent *e)override;void keyReleaseEvent(QKeyEvent *e)override; private:bool keyPress false; signals:};#endif // MYTEXTEDIT_H 源文件 #include mytextedit.h #includeQDebug #include QTextEdit #include QWheelEvent mytextedit::mytextedit(QWidget *parent): QTextEdit{parent} {}void mytextedit::wheelEvent(QWheelEvent *e) {if(keyPress true) //按下Ctrl时滑动滚轮切换字体大小{if(e-angleDelta().y() 0 ){zoomIn();}else{zoomOut();}e-accept();}else //没有摁下Ctrl时,默认调动滑块{QTextEdit::wheelEvent(e);} }void mytextedit::keyPressEvent(QKeyEvent *e) {if(e-key() Qt::Key_Control) //按下Ctrl{this-keyPress true;}QTextEdit::keyPressEvent(e); }void mytextedit::keyReleaseEvent(QKeyEvent *e) {if(e-key() Qt::Key_Control) //按下Ctrl{this-keyPress false;}QTextEdit::keyReleaseEvent(e); }②.重写事件过滤器 事件处理之前需要经过事件过滤处理所以也可以在事件过滤函数中对某些事件进行拦截比如这里的鼠标滚轮事件。 true表示事件处理完毕不再向下分发false表示事件继续向下分发。 事件过滤器需要安装在某个组件上这里需要安装在Widget类下的TextEdit所以过滤器定义在Widget下并在TextEdit上进行安装。 重写eventFilter //先前对于事件的处理都是直接重写事件处理函数此次借用 EventFilter事件过滤器来实现对于指定事件的处理 //事件发生-事件过滤-事件分发(分类)-事件处理 //在过滤阶段处理逻辑写完后不希望事件继续排放返回true表示事件已处理完毕。反之返回false继续向下派发由事件处理函数处理 bool Widget:: eventFilter(QObject *watched, QEvent *event) {QKeyEvent *e (QKeyEvent*)event;if(e-key() Qt::Key_Control ){if(e-type() QKeyEvent::KeyPress){qDebug()key;this-isWheel true;}else if(e-type() QKeyEvent::KeyRelease){qDebug()release;this-isWheel false;}}QWheelEvent *e1 (QWheelEvent*) event;if(e1-type() QEvent::Wheel){if(this-isWheel){if(e1-angleDelta().y() 0){fontsizeup();}else if (e1-angleDelta().y() 0){fontsizedown();}return true;}else{return false;}} }
http://www.hkea.cn/news/14459492/

相关文章:

  • 做网站销售这几天你有什么想法贵阳手机网站建设
  • 电商网站建设包括哪些内容wordpress seo插件中文版
  • 网站推荐广告模板图文设计公司起名
  • 门户网站开发方案aspnet网站开发实战
  • dede手机医院网站模板下载wordpress自定义页面跳转
  • 网站怎么添加模块嘉兴做网站赚钱么
  • 网站开发进入腾信职位安卓app开发工具
  • 绵阳门户网站建设营销策划首选
  • wordpress 显示 列表seo的含义是什么意思
  • 主流做网站程序代码云南 旅游 网站建设
  • wordpress 网站标题图奢侈品电商网站首页设计
  • 中卫网站建设哪家好想做服装电商怎么入手
  • 论坛网站源码下载企业网站建设排名官网
  • 江苏建设部网站网站促销活动策划
  • 大连做外贸建站的专业公司建设银行缴费网站登录
  • 最新互联网项目平台网站建站易
  • 网站ico图标 代码seo收费还是免费
  • 当今做那些网站能致富聚合搜索引擎
  • 定制高端网站建设服务商ai生成建筑网站
  • 建设网站项目总结必应搜索推广
  • 网站界面设计形考聊城专业网站制作公司
  • 石家庄seo网站排名360推广和百度推广哪个好
  • 沈阳做网站哪家最便宜电商设计参考网站
  • 陕西省建设银行分行网站做网站买了域名之后
  • 在记算机上登陆一个网站点怎么做网站搜索引擎提交
  • 网站搭建书籍推荐网站建设管理情况自查报告
  • 做网站石材推销网站建设评比细则
  • 做竞彩网站代理犯法么企业内网
  • 青岛做外贸网站的公司简介工程建设部网站
  • 企业网站建设应注意什么中英企业网站系统