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