MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { Ui_MainWindow *ui = this->ui; QSignalMapper *signalMapper = new QSignalMapper(this); // Important : all of signalMapper code must below on ui->setupUi ui->setupUi(this); // mapped connect(signalMapper, SIGNAL(mapped(int)), this, SLOT(iInsert(int))); // connect(ui->iH1, SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iH2, SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iH3, SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iH4, SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iH5, SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iH6, SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iTitle, SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iCode ,SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iCodeBlock, SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iImage ,SIGNAL(clicked()), signalMapper, SLOT(map())); connect(ui->iLink, SIGNAL(clicked()), signalMapper, SLOT(map())); // signalMapper->setMapping(ui->iH1, H1); signalMapper->setMapping(ui->iH2, H2); signalMapper->setMapping(ui->iH3, H3); signalMapper->setMapping(ui->iH4, H4); signalMapper->setMapping(ui->iH5, H5); signalMapper->setMapping(ui->iH6, H6); signalMapper->setMapping(ui->iTitle, TITLE); signalMapper->setMapping(ui->iCode, CODE); signalMapper->setMapping(ui->iCodeBlock, CODE_BLOCK); signalMapper->setMapping(ui->iImage, IMG); signalMapper->setMapping(ui->iLink, LINK); // editor to convert connect(ui->editor, &QTextBrowser::textChanged, this, &MainWindow::convert); // open Readme.md md_file.setFileName("/home/ham/document/QT/MarkdownEditor/MarkdownEditor/README.md"); if (md_file.open(QFile::ReadWrite| QFile::Text)) { md_data = md_file.readAll(); ui->editor->setPlainText(QString(md_data)); } md_file.close(); }
int QtMain(char *arg) { int argc = 1; char *argv[1] = {arg}; QApplication app(argc, argv); QMainWindow *mainwindow = new QMainWindow; Ui_MainWindow ui; ui.setupUi(mainwindow); mainwindow->show(); return app.exec(); }