qt 实现自己的小笔记本(哼。拿下本本记下来了
1.1實現我的記事本
?
1.3這次使用菜單了,筆記本需要有菜單的選項(就是那個下拉菜單框
?
1.4在菜單欄上雙擊 即可添加選項 子欄目一樣
文件-新建/打開/保存/退出 共四個選項(可以附加一個打開圖片的選項)
1.5 括號內取地址加符號等價于 快捷鍵 ? ? 然后子欄目沒法輸入英文 ? 可以在主欄目輸入好之后復制粘貼過去?
(同時記得 你的每個選項的名字 在右側組件欄中 修改一下名字喲 (只要自己能認出來就行))
1.6 選擇文本編輯框 拖入 然后點擊整體框 選擇垂直布局
/***********************************************************************************************************************************************/
效果展示:
啊啊啊gif太大不讓傳。。。你們自己試試吧。
/***********************************************************************************************************************************************/
接下來就是代碼的實現:
基本上我會做好注釋 覺得不錯的記得點贊,有問題記得留言歐~
mainwindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QFileDialog> #include <QString> #include <QCoreApplication> #include <QDebug> #include <QFile> #include <QImage> #include <QByteArray> #include <QFileDialog>namespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();private:Ui::MainWindow *ui;private slots:void newActionSlot();void openActionSlot();void openPictureSlot();void quitActionSlot();void saveActionSlot();};#endif // MAINWINDOW_Hmainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui->setupUi(this);connect(ui->newaction,&QAction::triggered,this,&MainWindow::newActionSlot);connect(ui->openaction,&QAction::triggered,this,&MainWindow::openActionSlot);connect(ui->quitaction,&QAction::triggered,this,&MainWindow::quitActionSlot);connect(ui->saveaction,&QAction::triggered,this,&MainWindow::saveActionSlot);connect(ui->openpicture,&QAction::triggered,this,&MainWindow::openPictureSlot); }MainWindow::~MainWindow() {delete ui; }void MainWindow::newActionSlot()//新建 就是清空當前文檔(也就一個textEdit)中的內容 然后把窗口的名字改成 你想要的新名字 {ui->textEdit->clear();this->setWindowTitle("新建文本文檔.txt"); }void MainWindow::openActionSlot()//打開一個文件 那么就需要這個文件的名字 {QString filename = QFileDialog::getOpenFileName(this,"打開文件",QCoreApplication::applicationDirPath());// 參數2:對話框標題 參數3:默認打開目錄(這個函數就是調用當前目錄 ....最后其實還有一個參數就是可以選擇的文件類型if(filename.isEmpty())//如果你沒有選擇文件就關閉了選擇窗口 那么文件名不就是空了嘛{qDebug()<<"請選擇文件";}else{QFile *file = new QFile;file->setFileName(filename);file->open(QIODevice::ReadOnly);ui->textEdit->setText(QString(file->readAll()));file->close();delete file;} }void MainWindow::openPictureSlot()//選擇性使用 我為了打開一張圖片而已 {QString filename = QFileDialog::getOpenFileName(this,"打開圖片",QCoreApplication::applicationDirPath());if(filename.isEmpty()){qDebug()<<"請選擇文件";}else{//這里和上面不同 用到了QImage 進行圖片的載入QImage img;img.load(filename);ui->label->setPixmap(QPixmap::fromImage(img));/*注:也可以直接用QPixmap類的對象采用Load函數加載圖像。這里說下QImage和QPixmap類的用處:* QImage為圖像的像素級訪問做了優化,QPixmap使用底層平臺的繪制系統進行繪制,無法提供像素級別的操作,而QImage則是使用獨立于硬件的繪制系統。*/} }void MainWindow::quitActionSlot()//這個最簡單 直接關閉窗口就行 {this->close(); }void MainWindow::saveActionSlot() {QString filename = QFileDialog::getSaveFileName(this,"打開文件",QCoreApplication::applicationDirPath());// getsaveFileName和上面的getOpenFileName 就是區別if(filename.isEmpty()){qDebug()<<"請選擇圖片";}else{QByteArray data;data.append(ui->textEdit->toPlainText()); //QByteArray 自帶轉換函數append 將QString 格式 轉換成 QByteArray 然后就可以寫回文件了QFile *file = new QFile;file->setFileName(filename);file->open(QIODevice::WriteOnly);file->write(data);file->close();//最后寫完文件后記得將文件關閉delete file;} }main.cpp中沒有任何改變
#include "mainwindow.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;w.show();return a.exec(); }?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的qt 实现自己的小笔记本(哼。拿下本本记下来了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qt 初学 创建一个简单的计算器
- 下一篇: Qt中为工程添加资源文件、给按钮添加图片