日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算器初步添加消息响应

發布時間:2025/4/5 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算器初步添加消息响应 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 1 計算器初步添加消息響應

1 計算器初步添加消息響應

只需要按照信號與槽的要求進行修改即可,修改后的代碼如下(main.cpp未修改):

QCalculatorUI.h:

#ifndef _QCALCULATORUI_H_ #define _QCALCULATORUI_H_#include <QWidget> #include <QLineEdit> #include <QPushButton>class QCalculatorUI : public QWidget {Q_OBJECT private:QLineEdit* m_edit;QPushButton* m_buttons[20];QCalculatorUI();bool construct(); private slots:void onButtonClicked(); public:static QCalculatorUI* NewInstance();void show();~QCalculatorUI(); };#endif

QCalculatorUI.cpp:

#include "QCalculatorUI.h" #include <QDebug>QCalculatorUI::QCalculatorUI() : QWidget(NULL, Qt::WindowCloseButtonHint) {}bool QCalculatorUI::construct() {bool ret = true;const char* btnText[20] ={"7", "8", "9", "+", "(","4", "5", "6", "-", ")","1", "2", "3", "*", "<-","0", ".", "=", "/", "C",};m_edit = new QLineEdit(this);if( m_edit != NULL ){m_edit->move(10, 10);m_edit->resize(240, 30);m_edit->setReadOnly(true);m_edit->setAlignment(Qt::AlignRight);}else{ret = false;}for(int i=0; (i<4) && ret; i++){for(int j=0; (j<5) && ret; j++){m_buttons[i*5 + j] = new QPushButton(this);if( m_buttons[i*5 + j] != NULL ){m_buttons[i*5 + j]->resize(40, 40);m_buttons[i*5 + j]->move(10 + (10 + 40)*j, 50 + (10 + 40)*i);m_buttons[i*5 + j]->setText(btnText[i*5 + j]);connect(m_buttons[i*5 + j], SIGNAL(clicked()), this, SLOT(onButtonClicked()));}else{ret = false;}}}return ret; }QCalculatorUI* QCalculatorUI::NewInstance() {QCalculatorUI* ret = new QCalculatorUI();if( (ret == NULL) || !ret->construct() ){delete ret;ret = NULL;}return ret; }void QCalculatorUI::show() {QWidget::show();setFixedSize(width(), height()); }void QCalculatorUI::onButtonClicked() {QPushButton* btn = (QPushButton*)sender();QString clickText = btn->text();if( clickText == "<-" ){QString text = m_edit->text();if( text.length() > 0 ){text.remove(text.length()-1, 1);m_edit->setText(text);}}else if( clickText == "C" ){m_edit->setText("");}else if( clickText == "=" ){}else{m_edit->setText(m_edit->text() + clickText);} }QCalculatorUI::~QCalculatorUI() {}

參考資料:

  • QT實驗分析教程
  • 總結

    以上是生活随笔為你收集整理的计算器初步添加消息响应的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。