代码

//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 = );
~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"));
}

最新文章

  1. Lua BehaviourTree 各节点说明
  2. nodejs+mysql 断线重连
  3. Oracle函数over(),rank()over()作用及用法--分区(分组)求和&amp; 不连续/连续排名
  4. POJ3264Balanced Lineup 线段树练手
  5. 【Java 基础篇】【第九课】继承
  6. 为Python添加默认模块搜索路径
  7. 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门
  8. 黄聪:C#里如何使用WebBrowser获取处理AJAX生成的网页内容?
  9. Process Stats:了解你的APP如何使用内存(转)
  10. C#算法基础之插入排序
  11. 简单的反射 把datatable 转换成list对象
  12. 攻入Javascript,究竟什么是AJAX
  13. 让我们一起摇摆 Turnipbit体感遥控车
  14. Jenkins+PowerShell持续集成环境搭建(五)SSRS项目
  15. &lt; meta http-equiv = &quot;X-UA-Compatible&quot; content = &quot;IE=edge,chrome=1&quot; /&gt;的意义
  16. v-bind绑定属性样式——class的三种绑定方式
  17. redis内部数据结构和外部数据结构揭秘
  18. (完全背包)Writing Code -- Codeforce 544C
  19. [转帖]ESXi、Linux、Windows获取机器序列号的方法
  20. 20155227 2016-2017-2 《Java程序设计》第九周学习总结

热门文章

  1. rpm命令参数(转载)
  2. Redhat 5.7 安装 glibc debuginfo ,终于成功。
  3. MySQL中如何实现select top n ----Limit
  4. Python 编程快速上手 第十八章 用 GUI 自动化控制键盘和鼠标
  5. mongodb shell和Node.js driver使用基础
  6. POJ-3693/HDU-2459 Maximum repetition substring 最多重复次数的子串(需要输出具体子串,按字典序)
  7. cmd net use
  8. Pudding Monsters CodeForces - 526F (分治, 双指针)
  9. 『计算机视觉』经典RCNN_其一:从RCNN到Faster-RCNN
  10. stl中的for_each() 函数的注意事项