这个项目我是用mainwindow,在创建项目的时候要注意,如果有小伙伴想用其他创建项目也是可以的,但要记得改一下我mainwindow.cpp中的类名:MainWindow->你的类型。
设置图标
我们只需把中意的图片放在项目的目录下,并且在pro文件中增加下列代码
RC_ICONS = logo.ico//logo是图片名字
构置界面
这一步直接画就好了
mainwindow.h
1. #ifndef MAINWINDOW_H 2. #define MAINWINDOW_H 3. 4. #include <QMainWindow> 5. 6. QT_BEGIN_NAMESPACE 7. namespace Ui { class MainWindow; } 8. QT_END_NAMESPACE 9. 10. class MainWindow : public QMainWindow 11. { 12. Q_OBJECT 13. 14. 15. public: 16. MainWindow(QWidget *parent = nullptr); 17. ~MainWindow(); 18. 19. private: 20. Ui::MainWindow *ui; 21. 22. private slots: 23. void pushButton();//保存按钮 24. void pushButton_2();//清除按钮 25. 26. 27. }; 28. #endif // MAINWINDOW_H
main.cpp
这里不需要改动
1. #include "mainwindow.h" 2. #include<QDebug> 3. #include <QApplication> 4. #include<QTextCodec> 5. 6. int main(int argc, char *argv[]) 7. { 8. QApplication a(argc, argv); 9. MainWindow w; 10. w.show(); 11. return a.exec(); 12. }
mainwindow.cpp
1. #include "mainwindow.h" 2. #include "ui_mainwindow.h" 3. #include "QDir" 4. #include "QFileDialog" 5. #include "QTextStream" 6. #include "QFile" 7. #include<QDebug> 8. #include<QDate> 9. #include<QFile> 10. #include<QDateTime> 11. 12. MainWindow::MainWindow(QWidget *parent) 13. : QMainWindow(parent) 14. , ui(new Ui::MainWindow) 15. { 16. ui->setupUi(this); 17. setWindowTitle("记账小程序");//标题 18. setFixedSize(600,600);//大小 19. //连接按钮和函数 20. connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(pushButton())); 21. connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(pushButton_2())); 22. } 23. 24. 25. MainWindow::~MainWindow() 26. { 27. delete ui; 28. } 29. 30. void MainWindow::pushButton() 31. { 32. //读入文本框内容 33. QString s1 = ui->lineEdit->text(); 34. QString s2 = ui->lineEdit_2->text(); 35. QString s3 = ui->lineEdit_3->text(); 36. QString s4 = ui->lineEdit_4->text(); 37. QString s5 = ui->lineEdit_5->text(); 38. 39. //获取时间 40. QDateTime curDateTime=QDateTime::currentDateTime(); 41. QString time = curDateTime.toString("yyyy.MM.dd hh:mm:ss.zzz ddd"); 42. 43. //计算花费总和并显示 44. double s6 = s1.toDouble()+s2.toDouble()+ s3.toDouble()+ s4.toDouble()+ s5.toDouble(); 45. QString b; 46. b = QString::number(s6,2,1); 47. ui->lineEdit_6->setText(b); 48. 49. //写入文件 50. QFile file("C:/Users/ASUS/Desktop/花销簿/12月.txt"); 51. if (file.open(QIODevice::ReadWrite | QIODevice::Append)) 52. { 53. QTextStream stream(&file); 54. stream <<time<< endl; 55. stream <<"food:"<<s1<< endl; 56. stream << "living goods:" <<s2<< endl; 57. stream << "studing goods:" <<s3<< endl; 58. stream << "snakes:" <<s4<< endl; 59. stream << "others:" <<s5<< endl; 60. stream << "total:" <<s6<< endl<<endl; 61. } 62. file.close(); 63. } 64. 65. void MainWindow::pushButton_2(){ 66. //清除文本框内容 67. ui->lineEdit->clear(); 68. ui->lineEdit_2->clear(); 69. ui->lineEdit_3->clear(); 70. ui->lineEdit_4->clear(); 71. ui->lineEdit_5->clear(); 72. ui->lineEdit_6->clear(); 73. }
完工了,源代码的连接在这里记账本,不要积分的呦。项目还有些不足,欢迎大佬前来指点
效果