qt做的代码计算器
来源:互联网 发布:j2ee怎么更新到java 编辑:程序博客网 时间:2024/05/30 04:56
工程配置文件
#-------------------------------------------------
#
# Project created by QtCreator 2015-04-03T12:44:12#
#-------------------------------------------------
QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = untitled4TEMPLATE = appSOURCES += main.cpp\mywidget.cpp
HEADERS += mywidget.hFORMS += mywidget.ui头文件
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <iostream>
#include <QWidget>
#include <QWizard>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void on_pushButton_5_clicked();
void readFile(const char* filename);
private:
Ui::Widget *ui;
};
#endif // MYWIDGET_H
实现文件
#include "mywidget.h"#include "ui_mywidget.h"#include <QDebug>#include <QFileDialog>#include <QMessageBox>#include <string>#include <iostream>#include <fstream>#include <QString>using namespace std;Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui->setupUi(this);}Widget::~Widget(){delete ui;}// 文件对话框void Widget::on_pushButton_5_clicked(){QStringList fileNames = QFileDialog::getOpenFileNames(this,tr("文件对话框"),"F:",tr("文本文件(*txt)"));qDebug()<< "fileNames:"<< fileNames;readFile(fileNames[0].toStdString().c_str());}void Widget::readFile(const char *filename){string temp;string anntemp = "";int totalLinNum = 0;int headFileNum = 0;int annotateNum = 0;int blankNum = 0;ifstream in(filename);while(getline(in,temp)){totalLinNum++;
anntemp.append(temp.c_str());
anntemp.append("\r\n");if(!temp.find("#")){headFileNum++;
}
if(temp.empty()){blankNum++;
}
}
int annindex = 0;while(anntemp[annindex]){if(anntemp[annindex] == '/' && anntemp[annindex+1] == '/'){annotateNum++;
}
if(anntemp[annindex] == '/' && anntemp[annindex+1] == '*'){annindex+=2;annotateNum++;
while(anntemp[annindex] && anntemp[annindex] != '*' && anntemp[annindex] != '/'){if(anntemp[annindex] == '\n'){annotateNum++;
}
annindex++;
}
}
annindex++;
}QMessageBox::information(this,tr("注释行数:"),//qstring转换成char*tr(QString("%1").arg(annotateNum).toLatin1().data()),QMessageBox::Ok);QMessageBox::information(this,tr("代码总行数:"),tr(QString("%1").arg(totalLinNum).toLatin1().data()),QMessageBox::Ok);QMessageBox::information(this,tr("包含的头文件数:"),tr(QString("%1").arg(headFileNum).toLatin1().data()),QMessageBox::Ok);QMessageBox::information(this,tr("空白的行数:"),tr(QString("%1").arg(blankNum).toLatin1().data()),QMessageBox::Ok);qDebug()<<"注释行数:"<< annotateNum;qDebug()<<"代码总行数:"<<totalLinNum;qDebug()<<"包含的头文件数:"<<headFileNum;qDebug()<<"空白的行数:"<<blankNum;}主文件
#include "mywidget.h"#include <QApplication>#include <QTextCodec> //添加头文件int main(int argc, char *argv[]){QApplication a(argc, argv);QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); //使程序中可以使用中文Widget w;w.show();
return a.exec();}布局文件
<?xml version="1.0" encoding="UTF-8"?><ui version="4.0"><class>Widget</class><widget class="QWidget" name="Widget"><property name="geometry"><rect><x>0</x><y>0</y><width>400</width><height>300</height></rect></property><property name="windowTitle"><string>Widget</string></property><widget class="QPushButton" name="pushButton_5"><property name="geometry"><rect><x>160</x><y>70</y><width>75</width><height>23</height></rect></property><property name="text"><string>选择文件</string></property></widget></widget><layoutdefault spacing="6" margin="11"/><resources/><connections/></ui>
0 0
- qt做的代码计算器
- QT做的简易计算器源码
- qt做计算器时的想法
- 一个计算器的代码,只做注释
- Qt简易计算器的代码实现
- 自己在Qt上做的辣鸡计算器
- 自己做的计算器。。。
- CSS做的计算器
- js做的计算器
- Qt编写的计算器
- 基于Qt的计算器
- J2ME做的简单计算器
- 自己做的初级计算器
- MFC做的一个计算器
- Netbeans做的计算器界面
- netbeans做简易的计算器
- Qt5.5做的计算器
- 做一个简单的计算器
- Spark1.3.0新特性概览
- C 最长回文字串问题
- Java类的生命周期详解
- android中json的使用
- 火狐自动清理缓存
- qt做的代码计算器
- eclipse实用快捷键大全
- Android-LineaLayout之android:layout_weight
- iOS 百度地图获取照片的属性信息
- 数据源变更时,table中更新对应cell的显示
- 移动端页面坑
- POJ 2826 An Easy Problem?!(计算几何)
- Java虚拟机工作原理详解
- 处女博客--写博客的之前的一点感悟