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

大兴专业网站开发公司广告公司寮步网站建设价钱

大兴专业网站开发公司,广告公司寮步网站建设价钱,安徽龙山建设有限公司网站,舜江建设集团官方网站目录 1 搭建标准界面2、 逻辑编写2.1 初始化 github链接#xff1a;基于qt的计算器 更多内容可以点击这里查看个人博客#xff1a;个人博客 1 搭建标准界面 按照下图搭设界面 修改样式让这计算器看起来更像一点#xff0c;同时对按钮分组进行样式编辑#xff0c;添加字符… 目录 1 搭建标准界面2、 逻辑编写2.1 初始化 github链接基于qt的计算器 更多内容可以点击这里查看个人博客个人博客 1 搭建标准界面 按照下图搭设界面 修改样式让这计算器看起来更像一点同时对按钮分组进行样式编辑添加字符串name,为number其他按键为other。之前的文章里出现过好几次不在赘述 修改最大的样式表 * { border:none; background-color: rgb(243, 243, 243); } /* */ QPushButton { font: bold 12pt 微软雅黑; } QPushButton[name number] { border-radius:4px; background-color: rgb(252, 252, 252); } QPushButton[name other] { border-radius:4px; background-color: rgb(246, 246, 246); } /*增加鼠标悬浮背景色 */ QPushButton[name number]:hover { border:1px solid rgb(193,193,193); background-color: rgb(221, 223, 221); } QPushButton[name other]:hover { border:1px solid rgb(193,193,193); background-color: rgb(221, 223, 221); } 接着修改文字输入部分让他们文字全部右对齐打开readonly光标就不会闪烁 2、 逻辑编写 2.1 初始化 首先初始化获得所有的按钮放入组方便后续操作在自己写个槽函数用于处理点击的流程 void cell_Standui::initUI() {//1、把所有的按钮放到一个按钮组里边QButtonGroup * buttonGroup new QButtonGroup(this);auto btnList findChildrenQPushButton*();for(auto btn : btnList){buttonGroup-addButton(btn);}//2、关联按钮组的点击信号connect(buttonGroup,QButtonGroup::buttonClicked,this,cell_Standui::onButtonGroupClicked);vec.resize(5);}显示数字记录比较简单难点在于各种符号的切换以及过程和最终结果的显示在一开始输入时需要清除0按完号后在次输入要清空记录使用容器记录存着的数和操作过程根号和平方等只有一个运算数单独写使用一个prebtn来记录上一个按键若是一次计算完成则清空 #include cell_standui.h #include ui_cell_standui.hcell_Standui::cell_Standui(QWidget *parent): QMainWindow(parent), ui(new Ui::cell_Standui) {ui-setupUi(this);initUI(); }cell_Standui::~cell_Standui() {delete ui; }void cell_Standui::initUI() {//1、把所有的按钮放到一个按钮组里边QButtonGroup * buttonGroup new QButtonGroup(this);auto btnList findChildrenQPushButton*();for(auto btn : btnList){buttonGroup-addButton(btn);}//2、关联按钮组的点击信号connect(buttonGroup,QButtonGroup::buttonClicked,this,cell_Standui::onButtonGroupClicked);vec.resize(5); }void cell_Standui::onButtonGroupClicked(QAbstractButton *btn) {//获取按钮的名称// qDebug()btn-objectName();//首先把框里的数赋值auto val1 ui-le_result-text().toFloat();QStringList nameList btn-objectName().split(_);QString name nameList[1];if(name 0 name 9 || name point ){//把一开始的0清除if(name ! point ui-le_result-text() 0){ui-le_result-clear();}//如果点击数字键的时候输入框有数据而且表达式框只有两个数据则重置为刚刚输入的if(preBtn add || preBtn multiplication ||preBtn subtraction || preBtn divide){ui-le_result-clear();}else if(preBtn result || preBtn squareroot || preBtn square || preBtn quarter){//判断上次的按钮是不是如果是那么一次计算就算完成了清空所有内容ui-le_result-clear();ui-le_history-clear();vec.clear();vec.resize(5);}//输入数字ui-le_result-insert(btn-text());}else if(name ce){//清空ui-le_result-clear();}else if(name c){//清空ui-le_result-clear();ui-le_history-clear();vec.clear();vec.resize(5);}else if(name del){//删除//先让光标的位置移动到前一位ui-le_result-setCursorPosition(ui-le_result-cursorPosition()-1);ui-le_result-del();}//输入符号else if(name add){if(vec.size() ! 2){//把左操作数和运算符保存起来vec[0] val1;vec[1] ;}}else if(name subtraction){if(vec.size() ! 2){//把左操作数和运算符保存起来vec[0] val1;vec[1] -;}}else if(name multiplication){if(vec.size() ! 2){//把左操作数和运算符保存起来vec[0] val1;vec[1] ×;}}else if(name divide){if(vec.size() ! 2){//把左操作数和运算符保存起来vec[0] val1;vec[1] ÷;}}else if(name result){vec[2] val1;vec[3] ;if(vec[1] ){vec[4] vec[0].toFloat()vec[2].toFloat();}else if(vec[1] -){vec[4] vec[0].toFloat()-vec[2].toFloat();}else if(vec[1] ×){vec[4] vec[0].toFloat()*vec[2].toFloat();}else if(vec[1] ÷){vec[4] vec[0].toFloat()/vec[2].toFloat();}ui-le_result-clear();ui-le_result-setText(vec[4].toString());}else if(name squareroot){//把左操作数和运算符保存起来vec[0] √ ;vec[1] val1;vec[2] ;vec[3] sqrt(val1);ui-le_result-clear();ui-le_result-setText(vec[3].toString());}else if(name square){//把左操作数和运算符保存起来vec[0] val1;vec[1] ²;vec[2] ;vec[3] val1*val1;ui-le_result-clear();ui-le_result-setText(vec[3].toString());}else if(name quarter){//把左操作数和运算符保存起来vec[0] 1/;vec[1] val1;vec[2] ;vec[3] 1/val1;ui-le_result-clear();ui-le_result-setText(vec[3].toString());}else if(name mod){//把左操作数和运算符保存起来vec[0] val1;vec[1] %;vec[2] ;vec[3] val1/100;ui-le_result-clear();ui-le_result-setText(vec[3].toString());}//显示表达式每次都清空重新显示ui-le_history-clear();for(auto var : vec){ui-le_history-insert(var.toString());}preBtn name; } 头文件 #ifndef CELL_STANDUI_H #define CELL_STANDUI_H#include QMainWindow #include QButtonGroup #include QDebug #include QVector #include QVariantnamespace Ui { class cell_Standui; }class cell_Standui : public QMainWindow {Q_OBJECTpublic:explicit cell_Standui(QWidget *parent nullptr);~cell_Standui();void initUI();public slots:void onButtonGroupClicked(QAbstractButton* btn);private:Ui::cell_Standui *ui;QVectorQVariant vec;//记录上一个按钮的名字QString preBtn; };#endif // CELL_STANDUI_H成果图
http://www.hkea.cn/news/14316592/

相关文章:

  • 如何提高网站百度权重企业app定制开发
  • 怀化二手车网站寿光哪里做网站
  • 北京网站seo报价新网站在谷歌上面怎么做推广
  • ae做动画教程网站php网站开发技术
  • 商店网站在线设计wordpress自动跳转到手机版
  • 潍坊站总站人工服务电话信贷网站开发
  • 企业电子商务网站优化方案怎么编程一个网站
  • 建设网站需申请什么资料磁力狗在线搜索
  • 中国建设通官方网站在深圳注册公司需要什么资料
  • 网站建设 考题如何很好的进行网站的内部推广
  • 手机网站demowordpress 知更鸟 公告
  • 西安高端品牌网站建设wordpress柚子皮5.31
  • 关于外贸公司的网站光电信息科学与工程
  • 百度官网认证网站wordpress 商城 插件
  • 哪个网站上做ppt比较好看的南昌住房和城乡建设部网站电话
  • 济南定制网站建设棠下手机网站建设
  • 创意合肥网站建设怎么提升网站加载速度
  • 有没有做衣服的网站吗网站建设公司简介范文
  • 上海知名网站开发公司网站模板好
  • 帝国网站后台管理系统怎样建立一个自己的网站
  • 青岛网站建设莫道网络php网站后台密码忘记
  • 煤炭建设协会官方网站国内做外贸网站的有哪些
  • 做任务 网站孝感网站建设软件
  • 做网站怎么电话约客户代码编程教学入门
  • 青海省建设厅网站备案资料如何将网站和域名绑定域名
  • 怎样在微信上开发小程序临沂网站关键字优化
  • 专做宝宝的用品网站如皋网页设计
  • 简单的旅游网站代码国外网站免费dns
  • 内网是怎么做网站的百度网址大全首页设为首页
  • 郑州专业做淘宝网站推广越秀区做网站