zoukankan      html  css  js  c++  java
  • 【原创】QT简单计算器

    代码

    //main.cpp
    
    #include "calculator_111.h"
    #include <QtWidgets/QApplication>
    
    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    Calculator_111 w;
    w.show();
    return a.exec();
    /* //QT creator 
    Calculator_111 win; 
    win.show();
    return a.exec(); */
    
    }
    //calculator_111.h
    
    #ifndef CALCULATOR_111_H
    #define CALCULATOR_111_H
    
    #include <QtWidgets/QMainWindow>
    #include "ui_calculator_111.h"IDB_BITMAP1
    
    class Calculator_111 : public QMainWindow
    {
    Q_OBJECT
    
    public:
    Calculator_111(QWidget *parent = 0);
    ~Calculator_111();
    
    private:
    Ui::Calculator_111Class ui; /*QTdesiner画的界面*/
    void open(); /**/
    QAction *openAction; /**/
    };
    
    #endif // CALCULATOR_111_H
    //calculator_111.cpp
    
    
    #include <QAction>
    #include <QMenuBar>
    #include <QMessageBox>
    #include <QStatusBar>
    #include <QToolBar> /**/
    
    #include "calculator_111.h"
    /*C++ 的继承的语法的一部分,说明 MainWindow 的构造函数之前需要调用父类 QMainWindow 的带有参数的构造函数。一般而言,子类应该调用父类的同参数构造函数,以便正确构造父类 */
    Calculator_111::Calculator_111(QWidget *parent)
    : QMainWindow(parent)
    {
    ui.setupUi(this); /* 来自QTdesigner */
    
    setWindowTitle(tr("Calculate Window"));
    
    //在MainWindow类中添加一个私有变量openAction
    
    openAction = new QAction(QIcon("logo111.png"), tr("&Open..."), this);//路径问题!!!
    //在堆上创建了openAction对象。在QAction构造函数,我们传入了一个图标、一个文本和 this 指针
    openAction->setShortcuts(QKeySequence::Open);
    openAction->setStatusTip(tr("Open an existing file"));
    /*setStatusTip()则实现了当用户鼠标滑过这个 action 时,会在主窗口下方的状态栏显示相应的提示。
    connect()函数,将这个QAction的triggered()信号与Calculator_111类的open()函数连接起来。
    当用户点击了QAction时,会自动触发MainWindow的open()函数*/
    connect(openAction, &QAction::triggered, this, &Calculator_111::open);
    QMenu *file = menuBar()->addMenu(tr("&File"));
    file->addAction(openAction);
    QToolBar *toolBar = addToolBar(tr("&File"));
    toolBar->addAction(openAction);
    statusBar() ;
    
    
    }
    
    Calculator_111::~Calculator_111()
    {
    
    }
    //在MainWindow类中添加了一个私有函数open()
    void Calculator_111::open()
    {
    QMessageBox::information(this,tr("Information"),tr("open"));
    }
  • 相关阅读:
    LINQTOSQL作为底层ORM框架后,我们的数据基类就变成了这个样子
    一個傳統的C2C網站的用戶充值的过程
    ajax跨域获取数据
    C#+HTML+JS生成的树完整代码
    核心Swing组件(六)
    Swing组件集合的事件处理(六)
    Swing组件集合的事件处理(四)
    核心Swing组件(四)
    核心Swing组件(三)
    核心Swing组件(五)
  • 原文地址:https://www.cnblogs.com/hhxxgdd/p/8525304.html
Copyright © 2011-2022 走看看