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

3合1网站建设简单美食网站模板免费下载

3合1网站建设,简单美食网站模板免费下载,wordpress网址重定向,网站动画特效使用Qt中实现中英文键盘#xff0c;支持各种linux嵌入式设备。 实现思路#xff1a;需要一个中文字体库#xff0c;将字体库加载到一个Hash容器#xff0c;字母和拼音作为key值#xff0c;对应的中文作为value值。 核心代码#xff1a; #include UKeyBoard.h支持各种linux嵌入式设备。 实现思路需要一个中文字体库将字体库加载到一个Hash容器字母和拼音作为key值对应的中文作为value值。 核心代码 #include UKeyBoard.h #include ui_UKeyBoard.h #include QFile #include QKeyEvent #include QDebugUKeyBoard::UKeyBoard(QWidget *parent) :QWidget(parent),ui(new Ui::UKeyBoard) {ui-setupUi(this);QFile* file new QFile(QApplication::applicationDirPath()/PinYin_Chinese.txt);file-open(QIODevice::ReadOnly);QString sss QString::fromUtf8(file-readAll());qDebug()sss.size();QStringList ssslist sss.split(\r\n);foreach (QString var, ssslist) {QStringList pinyin var.mid(1,var.size() - 1).split( );QString word var.mid(0,1);for (int i 0; i pinyin.size(); i) {if (m_wordHash.find(pinyin[i]) m_wordHash.end())m_wordHash.insert(pinyin[i],QStringList()word);elsem_wordHash[pinyin[i]].append(word);}}connectInit(); }UKeyBoard::~UKeyBoard() {delete ui; }void UKeyBoard::connectInit() {connect(ui-Key_Q_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_W_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_E_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_R_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_T_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_Y_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_U_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_I_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_O_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_P_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_A_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_S_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_D_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_F_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_G_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_H_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_J_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_K_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_L_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_Z_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_X_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_C_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_V_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_B_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_N_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-Key_M_Btn,QToolButton::clicked,this,UKeyBoard::slotKeyBtn);connect(ui-wordBtn1,QToolButton::clicked,this,UKeyBoard::slotInputChange);connect(ui-wordBtn2,QToolButton::clicked,this,UKeyBoard::slotInputChange);connect(ui-wordBtn3,QToolButton::clicked,this,UKeyBoard::slotInputChange);connect(ui-wordBtn4,QToolButton::clicked,this,UKeyBoard::slotInputChange);connect(ui-wordBtn5,QToolButton::clicked,this,UKeyBoard::slotInputChange);connect(ui-wordBtn6,QToolButton::clicked,this,UKeyBoard::slotInputChange);connect(ui-wordBtn7,QToolButton::clicked,this,UKeyBoard::slotInputChange); } //输入中文 void UKeyBoard::slotInputChange() {QToolButton* btn (QToolButton*)sender();QString value btn-text();QKeyEvent *key new QKeyEvent(QEvent::KeyPress, w, Qt::NoModifier, value.split( ).last());//通过postEvent将事件key的文本内容发送出去QApplication::focusWidget()当前窗口中有光标的控件上QApplication::postEvent(ui-inputEdit-focusWidget(), key); //_currentLineEditm_curWords.clear();ui-selectWordEdit-setText();ui-selectWordEdit-hide();ui-wordBtn1-setText();ui-wordBtn2-setText();ui-wordBtn3-setText();ui-wordBtn4-setText();ui-wordBtn5-setText();ui-wordBtn6-setText();ui-wordBtn7-setText(); } //上一页中文 void UKeyBoard::on_lastPageBtn_clicked() {if (_index 0)_index--;QString val ui-selectWordEdit-text();wordChange(val,_index); } //下一页中文 void UKeyBoard::on_nextPageBtn_clicked() {_index;QString val ui-selectWordEdit-text();if (wordChange(val,_index) 0)_index--; } //按键输入 void UKeyBoard::slotKeyBtn() {QToolButton* btn (QToolButton*)sender();ui-inputEdit-setFocus();if (_keyType 0){QString val ui-selectWordEdit-text();int position ui-selectWordEdit-cursorPosition();val.insert(position,btn-text());ui-selectWordEdit-setText(val);m_curWords.clear();m_curWords.append(m_wordHash.value(val));for (QHashQString,QStringList::const_iterator it m_wordHash.begin(); it ! m_wordHash.end();it) {if (it.key().indexOf(val) 0){if (it.key() val)continue;m_curWords.append(it.value());}}wordChange(val,0);updateSelectInputPos();}else{QString value btn-text();QKeyEvent *key new QKeyEvent(QEvent::KeyPress, w, Qt::NoModifier, value);//通过postEvent将事件key的文本内容发送出去QApplication::focusWidget()当前窗口中有光标的控件上QApplication::postEvent(ui-inputEdit-focusWidget(), key); //_currentLineEdit}} //更新编辑框大小和状态 void UKeyBoard::updateSelectInputPos() {if (!ui-selectWordEdit-text().isEmpty()){ui-selectWordEdit-setFocus();ui-selectWordEdit-show();QFontMetrics _metrics(ui-inputEdit-font());QFontMetrics _metrics1(ui-selectWordEdit-font());QString inputVal ui-inputEdit-text().mid(0,ui-inputEdit-cursorPosition());int inputPos 5_metrics.width(inputVal)ui-inputEdit-x();ui-selectWordEdit-setGeometry(inputPos,ui-inputEdit-y()3,_metrics1.width(ui-selectWordEdit-text())6,36);}else{ui-inputEdit-setFocus();ui-selectWordEdit-clear();ui-selectWordEdit-hide();} } //中文检索 int UKeyBoard::wordChange(QString val,int index) {_index index;if (m_curWords.size() 7*index)return -1;ui-wordBtn1-setText();ui-wordBtn2-setText();ui-wordBtn3-setText();ui-wordBtn4-setText();ui-wordBtn5-setText();ui-wordBtn6-setText();ui-wordBtn7-setText();if (m_curWords.size()7*index)ui-wordBtn1-setText(1 m_curWords[7*index]);if (m_curWords.size()7*index1)ui-wordBtn2-setText(2 m_curWords[7*index1]);if (m_curWords.size()7*index2)ui-wordBtn3-setText(3 m_curWords[7*index2]);if (m_curWords.size()7*index3)ui-wordBtn4-setText(4 m_curWords[7*index3]);if (m_curWords.size()7*index4)ui-wordBtn5-setText(5 m_curWords[7*index4]);if (m_curWords.size()7*index5)ui-wordBtn6-setText(6 m_curWords[7*index5]);if (m_curWords.size()7*index6)ui-wordBtn7-setText(7 m_curWords[7*index6]);return 0; } //大小写切换 void UKeyBoard::on_capsBtn_clicked() {if (!_capsType)_capsType true;else_capsType false;if (_keyType 1){if (_capsType){changeKeyType(2);}else{changeKeyType(1);}}else if (_keyType 2){if (_capsType){changeKeyType(4);}else{changeKeyType(3);}}else if (_keyType 0){QString val ui-inputEdit-text();int position ui-inputEdit-cursorPosition();QString wordVal ui-wordBtn1-text().split( ).last();if (wordVal.isEmpty())wordVal ui-selectWordEdit-text();val.insert(position,wordVal,);ui-inputEdit-setText(val);ui-inputEdit-setCursorPosition(positionwordVal.size()1);}ui-inputEdit-setFocus();ui-selectWordEdit-clear();ui-selectWordEdit-hide();ui-wordBtn1-setText();ui-wordBtn2-setText();ui-wordBtn3-setText();ui-wordBtn4-setText();ui-wordBtn5-setText();ui-wordBtn6-setText();ui-wordBtn7-setText(); } //删除字符 void UKeyBoard::on_delBtn_clicked() {QString val ui-selectWordEdit-text();if (!val.isEmpty()){int cursorPosition ui-selectWordEdit-cursorPosition()-1;val.remove(cursorPosition,1);ui-selectWordEdit-setText(val);ui-selectWordEdit-setCursorPosition(cursorPosition);m_curWords.clear();m_curWords.append(m_wordHash.value(val));for (QHashQString,QStringList::const_iterator it m_wordHash.begin(); it ! m_wordHash.end();it) {if (it.key().indexOf(val) 0){if (it.key() val)continue;m_curWords.append(it.value());}}wordChange(val,0);if (val.isEmpty()){ui-wordBtn1-setText();ui-wordBtn2-setText();ui-wordBtn3-setText();ui-wordBtn4-setText();ui-wordBtn5-setText();ui-wordBtn6-setText();ui-wordBtn7-setText();ui-selectWordEdit-hide();ui-inputEdit-setFocus();}}else{val ui-inputEdit-text();int cursorPosition ui-inputEdit-cursorPosition()-1;val.remove(cursorPosition,1);ui-inputEdit-setText(val);ui-inputEdit-setCursorPosition(cursorPosition);}updateSelectInputPos(); } //切换键盘类型 void UKeyBoard::on_swithBtn_clicked() {if (_keyType 0)_keyType 1;else if (_keyType 1)_keyType 2;else if (_keyType 2)_keyType 0;_capsType false;if (_keyType 0){changeKeyType(0);ui-swithBtn-setText(EN);}else if (_keyType 1){changeKeyType(1);ui-swithBtn-setText(123);}else{changeKeyType(3);ui-swithBtn-setText(CN);}ui-inputEdit-setFocus();ui-selectWordEdit-clear();ui-selectWordEdit-hide(); } //空格 void UKeyBoard::on_spaceBtn_clicked() {int position ui-inputEdit-cursorPosition();QString val ui-inputEdit-text();if (_keyType 0){QString wordVal ui-wordBtn1-text().split( ).last();if (wordVal.isEmpty())wordVal ui-selectWordEdit-text();val.insert(position,wordVal );ui-inputEdit-setText(val);ui-inputEdit-setCursorPosition(positionwordVal.size()1);}else{val.insert(position, );ui-inputEdit-setText(val);ui-inputEdit-setCursorPosition(position1);}ui-inputEdit-setFocus();ui-selectWordEdit-clear();ui-selectWordEdit-hide();ui-wordBtn1-setText();ui-wordBtn2-setText();ui-wordBtn3-setText();ui-wordBtn4-setText();ui-wordBtn5-setText();ui-wordBtn6-setText();ui-wordBtn7-setText(); } //光标左移 void UKeyBoard::on_leftMoveBtn_clicked() {if (ui-selectWordEdit-text().isEmpty()){if (ui-inputEdit-cursorPosition()-1 0)ui-inputEdit-setCursorPosition(ui-inputEdit-text().size());elseui-inputEdit-setCursorPosition(ui-inputEdit-cursorPosition()-1);}else{if (ui-selectWordEdit-cursorPosition()-1 0)ui-selectWordEdit-setCursorPosition(ui-selectWordEdit-text().size());elseui-selectWordEdit-setCursorPosition(ui-selectWordEdit-cursorPosition()-1);} }//光标右移 void UKeyBoard::on_rightMoveBtn_clicked() {if (ui-selectWordEdit-text().isEmpty()){if (ui-inputEdit-cursorPosition()1 ui-inputEdit-text().size())ui-inputEdit-setCursorPosition(0);elseui-inputEdit-setCursorPosition(ui-inputEdit-cursorPosition()1);}else{if (ui-selectWordEdit-cursorPosition()1 ui-selectWordEdit-text().size())ui-selectWordEdit-setCursorPosition(0);elseui-selectWordEdit-setCursorPosition(ui-selectWordEdit-cursorPosition()1);} }void UKeyBoard::on_enterBtn_clicked() {this-hide(); }//切换键盘类型 void UKeyBoard::changeKeyType(int type) {ui-selectWordEdit-setText();ui-wordBtn1-setText();ui-wordBtn2-setText();ui-wordBtn3-setText();ui-wordBtn4-setText();ui-wordBtn5-setText();ui-wordBtn6-setText();ui-wordBtn7-setText();if (type 0){_capsType false;ui-Key_A_Btn-setText(a);ui-Key_S_Btn-setText(s);ui-Key_D_Btn-setText(d);ui-Key_F_Btn-setText(f);ui-Key_G_Btn-setText(g);ui-Key_H_Btn-setText(h);ui-Key_J_Btn-setText(j);ui-Key_K_Btn-setText(k);ui-Key_L_Btn-setText(l);ui-Key_Q_Btn-setText(q);ui-Key_W_Btn-setText(w);ui-Key_E_Btn-setText(e);ui-Key_R_Btn-setText(r);ui-Key_T_Btn-setText(t);ui-Key_Y_Btn-setText(y);ui-Key_U_Btn-setText(u);ui-Key_I_Btn-setText(i);ui-Key_O_Btn-setText(o);ui-Key_P_Btn-setText(p);ui-Key_Z_Btn-setText(z);ui-Key_X_Btn-setText(x);ui-Key_C_Btn-setText(c);ui-Key_V_Btn-setText(v);ui-Key_B_Btn-setText(b);ui-Key_N_Btn-setText(n);ui-Key_M_Btn-setText(m);ui-capsBtn-setIcon(QIcon());ui-capsBtn-setText(.);}else if (type 1){_capsType false;ui-Key_A_Btn-setText(a);ui-Key_S_Btn-setText(s);ui-Key_D_Btn-setText(d);ui-Key_F_Btn-setText(f);ui-Key_G_Btn-setText(g);ui-Key_H_Btn-setText(h);ui-Key_J_Btn-setText(j);ui-Key_K_Btn-setText(k);ui-Key_L_Btn-setText(l);ui-Key_Q_Btn-setText(q);ui-Key_W_Btn-setText(w);ui-Key_E_Btn-setText(e);ui-Key_R_Btn-setText(r);ui-Key_T_Btn-setText(t);ui-Key_Y_Btn-setText(y);ui-Key_U_Btn-setText(u);ui-Key_I_Btn-setText(i);ui-Key_O_Btn-setText(o);ui-Key_P_Btn-setText(p);ui-Key_Z_Btn-setText(z);ui-Key_X_Btn-setText(x);ui-Key_C_Btn-setText(c);ui-Key_V_Btn-setText(v);ui-Key_B_Btn-setText(b);ui-Key_N_Btn-setText(n);ui-Key_M_Btn-setText(m);ui-capsBtn-setIcon(QIcon(:/img/keyboard-up_1.png));ui-capsBtn-setIconSize(QSize(28,33));ui-capsBtn-setText();}else if (type 2){ui-Key_A_Btn-setText(A);ui-Key_S_Btn-setText(S);ui-Key_D_Btn-setText(D);ui-Key_F_Btn-setText(F);ui-Key_G_Btn-setText(G);ui-Key_H_Btn-setText(H);ui-Key_J_Btn-setText(J);ui-Key_K_Btn-setText(K);ui-Key_L_Btn-setText(L);ui-Key_Q_Btn-setText(Q);ui-Key_W_Btn-setText(W);ui-Key_E_Btn-setText(E);ui-Key_R_Btn-setText(R);ui-Key_T_Btn-setText(T);ui-Key_Y_Btn-setText(Y);ui-Key_U_Btn-setText(U);ui-Key_I_Btn-setText(I);ui-Key_O_Btn-setText(O);ui-Key_P_Btn-setText(P);ui-Key_Z_Btn-setText(Z);ui-Key_X_Btn-setText(X);ui-Key_C_Btn-setText(C);ui-Key_V_Btn-setText(V);ui-Key_B_Btn-setText(B);ui-Key_N_Btn-setText(N);ui-Key_M_Btn-setText(M);ui-capsBtn-setIcon(QIcon(:/img/keyboard-up.png));ui-capsBtn-setIconSize(QSize(28,33));ui-capsBtn-setText();}else if (type 3){ui-Key_A_Btn-setText(-);ui-Key_S_Btn-setText();ui-Key_D_Btn-setText();ui-Key_F_Btn-setText(/);ui-Key_G_Btn-setText(\\);ui-Key_H_Btn-setText(;);ui-Key_J_Btn-setText();ui-Key_K_Btn-setText(,);ui-Key_L_Btn-setText(.);ui-Key_Q_Btn-setText(1);ui-Key_W_Btn-setText(2);ui-Key_E_Btn-setText(3);ui-Key_R_Btn-setText(4);ui-Key_T_Btn-setText(5);ui-Key_Y_Btn-setText(6);ui-Key_U_Btn-setText(7);ui-Key_I_Btn-setText(8);ui-Key_O_Btn-setText(9);ui-Key_P_Btn-setText(0);ui-Key_Z_Btn-setText([);ui-Key_X_Btn-setText(]);ui-Key_C_Btn-setText(‘);ui-Key_V_Btn-setText(...);ui-Key_B_Btn-setText();ui-Key_N_Btn-setText(。);ui-Key_M_Btn-setText(、);ui-capsBtn-setIcon(QIcon());ui-capsBtn-setText(#);}else if (type 4){ui-Key_A_Btn-setText(!);ui-Key_S_Btn-setText();ui-Key_D_Btn-setText(#);ui-Key_F_Btn-setText($);ui-Key_G_Btn-setText(%);ui-Key_H_Btn-setText(^);ui-Key_J_Btn-setText();ui-Key_K_Btn-setText(*);ui-Key_L_Btn-setText(();ui-Key_Q_Btn-setText());ui-Key_W_Btn-setText(_);ui-Key_E_Btn-setText(°);ui-Key_R_Btn-setText({);ui-Key_T_Btn-setText(});ui-Key_Y_Btn-setText(|);ui-Key_U_Btn-setText(:);ui-Key_I_Btn-setText(\);ui-Key_O_Btn-setText();ui-Key_P_Btn-setText();ui-Key_Z_Btn-setText(?);ui-Key_X_Btn-setText(~);ui-Key_C_Btn-setText(”);ui-Key_V_Btn-setText(“);ui-Key_B_Btn-setText(《);ui-Key_N_Btn-setText(》);ui-Key_M_Btn-setText(—);ui-capsBtn-setIcon(QIcon());ui-capsBtn-setText(123);} } 完整源码
http://www.yingshimen.cn/news/33390/

相关文章:

  • 事业单位网站备案域名ip查询入口官网
  • 网站死链怎么删除做网站自己买服务器
  • 个人网站开发的意义服务好的企业建站
  • 学校网站设计论文软件开发怎么自学
  • 住房城乡建设部门户网站主页微信小程序开店怎么弄
  • 钢格板保定网站建设技术支持上海网站建设
  • 营销型网站的建设软文网站开发的基本流程
  • 做国外的网站苏州网站开发外包公司
  • 开发网站费用怎么做蛋糕店的网站
  • 网站首页设计欣赏wordpress page 2
  • 公司网站怎么做实名认证网站外连
  • 网站空间需要续费企业网站服务器选择
  • 哪个网站做售楼推广好哪个网站可以做自己的网页
  • 郑州seo网站排名wordpress自带图片
  • 专业提供网站建设服务公司dede网站幻灯片
  • 怎么做网站推广怎么样网站建设的商业目的
  • 网站流量跟钱的关系百度教育app
  • eclipse用来做网站前端广告推广精准引流
  • 建设网站公司招聘做网站开发注册工商户可以么
  • 鲜花类网站建设策划书范文制作app的教程
  • 南昌网站搭建公司 赣ICPwordpress主题更改
  • 网站维护费一般多少钱图片搜索图片识别
  • 儿童教育自适应网站模板做淘宝客建网站的好处是什么
  • 网站建设基本要求东莞排名优化团队
  • 想学网站开发如何登录到wordpress
  • intitle 做网站石家庄市最新公告
  • 网站错误代码301酷炫个人特别网站
  • 大连专业网站设计服务商网站建设搭建专业网站平台公司
  • 3d做号网站瑞安网站网站建设
  • 企业网站建设代理加盟启信宝