网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > C语言

c语言入门:用qt实现简单IDE

栏目: C语言 / 发布于: / 人气:2.9W

正在学习C语言的大家,知道用qt如何实现实现简单IDE吗?想是小编为大家搜集整理出来的有关于c语言入门:用qt实现简单IDE,希望可以帮助到大家!

c语言入门:用qt实现简单IDE

list-style-type: none; margin: 0px; background-image: none; background-position: 0% 0%; background-size: initial; background-repeat: repeat; background-attachment: scroll; background-origin: initial; background-clip: initial; border-radius: 0px; box-sizing: content-box !important; position: static !important; padding: 0px !important; line-height: 1.1em !important; outline-style: none !important; min-height: auto !important; outline-width: 0px !important; width: auto !important; bottom: auto !important; float: none !important; height: auto !important; font-size: 1em !important; vertical-align: baseline !important; overflow: visible !important; top: auto !important; right: auto !important; left: auto !important;" class="firstRow">
123456789101112#include "mainwindow.h"#include <qapplication>int main(int argc, char *argv[]){QApplication a(argc, argv);MainWindow w;ze(1000,800);();return ();}</qapplication>

mainwindow.h

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <qmainwindow>#include <qtextedit>#include <qmenu>#include <qmenubar>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);QString file_path;QTextEdit *te;QMenu *file;QMenu *edit;QMenu *build;QAction *open;QAction *save;QAction *exit_;QAction *copy;QAction *paste;QAction *cut;QAction *buildc;QAction *run;~MainWindow();private:Ui::MainWindow *ui;private slots:void on_open_click();void on_save_click();void on_exit_click();void on_copy_click();void on_paste_click();void on_cut_click();void on_buildc_click();void on_run_click();};#endif // MAINWINDOW_H</qmenubar></qmenu></qtextedit></qmainwindow>

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163#include "mainwindow.h"#include "ui_mainwindow.h"#include <stdlib.h>#include <qfiledialog>#include <qmessagebox>//#include <>MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ui->setupUi(this);te=new QTextEdit;QFont font;ointSize(10);te->setFont(font);this->setCentralWidget(te);file=new QMenu("file");this->menuBar()->addMenu(file);edit=new QMenu("edit");this->menuBar()->addMenu(edit);build=new QMenu("build");this->menuBar()->addMenu(build);open=new QAction("open");open->setShortcut(tr("ctrl+o"));file->addAction(open);save=new QAction("save");save->setShortcut(tr("ctrl+s"));file->addAction(save);exit_=new QAction("eixt");exit_->setShortcut(tr("ctrl+q"));file->addAction(exit_);connect(open,SIGNAL(triggered()),this,SLOT(on_open_click()));connect(save,SIGNAL(triggered()),this,SLOT(on_save_click()));connect(exit_,SIGNAL(triggered()),this,SLOT(on_exit_click()));copy=new QAction("copy");copy->setShortcut(tr("ctrl+c"));edit->addAction(copy);paste=new QAction("paste");paste->setShortcut(tr("ctrl+v"));edit->addAction(paste);cut=new QAction("cut");cut->setShortcut(tr("ctrl+x"));edit->addAction(cut);connect(copy,SIGNAL(triggered()),this,SLOT(on_copy_click()));connect(paste,SIGNAL(triggered()),this,SLOT(on_paste_click()));connect(cut,SIGNAL(triggered()),this,SLOT(on_cut_click()));buildc=new QAction("buildc");buildc->setShortcut(tr("ctrl+m"));build->addAction(buildc);run=new QAction("run");run->setShortcut(tr("ctrl+r"));build->addAction(run);connect(buildc,SIGNAL(triggered()),this,SLOT(on_buildc_click()));connect(run,SIGNAL(triggered()),this,SLOT(on_run_click()));}MainWindow::~MainWindow(){ ui; te; file; edit; build; open; save; exit_; copy; paste; cut; buildc; run;}void MainWindow::on_open_click(){file_path=QFileDialog::getOpenFileName();if(file_pty())return;FILE *p =fopen(file_dString()(),"r");if(p==NULL){QMessageBox::information(this,"notify","open file failure.");return;}QString content;char buf[1024]={0};while(!feof(p)){content+= fgets(buf,sizeof(buf),p);}fclose(p);te->setText(content);}void MainWindow::on_save_click(){file_path=QFileDialog::getSaveFileName();if(file_path==NULL)return;FILE *p=fopen(file_dString()(),"w");fputs(te->toPlainText()dString()(),p);fclose(p);}void MainWindow::on_exit_click(){exit(0);}void MainWindow::on_copy_click(){te->copy();}void MainWindow::on_paste_click(){te->paste();}void MainWindow::on_cut_click(){te->cut();}void MainWindow::on_buildc_click(){QString dest=file_path;ace(".c","");system(("gcc -o "+ dest +" "+ file_path)dString()());QMessageBox::information(this,"notify","build success!");}void MainWindow::on_run_click(){QString dest=file_path;ace(".c","");system(dString()());}</qmessagebox></qfiledialog></stdlib.h>

Tags:IDE qt 语言