⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainwindow.cpp

📁 本文件是<精通QT4编程>的配套源代码
💻 CPP
字号:
#include <QtGui>#include "mainwindow.h"#include "uihandler.h"MainWindow::MainWindow(){    QFont font;    font.setFamily("Courier");    font.setFixedPitch(true);    font.setPointSize(14);	textEdit = new QTextEdit;	textEdit->setFont(font);    setCentralWidget(textEdit);    createActions();    createMenus();    statusBar()->showMessage(tr("Ready"));    setWindowTitle(tr("SAX UI parser"));    resize(800, 600);	highlighter = new Highlighter(textEdit->document());// 	open();}void MainWindow::open(){    QString fileName =            QFileDialog::getOpenFileName(this, tr("Open Qt 4 UI File"),                                         QDir::currentPath(),                                         tr("UI Files (*.ui)"));// 	QString fileName = "test.ui";    if (fileName.isEmpty())        return;    textEdit->clear();    QFile file(fileName);    if (!file.open(QFile::ReadOnly | QFile::Text)) {        QMessageBox::warning(this, tr("SAX UI Process"),                             tr("Cannot read file %1:\n%2.")                             .arg(fileName)                             .arg(file.errorString()));        return;    }    QXmlInputSource xmlInputSource(&file);	int index = fileName.lastIndexOf("/");	if(index > 0)    	fileName =  fileName.mid(index + 1);    UiHandler handler(textEdit, fileName);    QXmlSimpleReader reader;    reader.setContentHandler(&handler);    reader.setErrorHandler(&handler);    if (reader.parse(xmlInputSource))        statusBar()->showMessage(fileName + tr("File loaded"));}void MainWindow::saveAs(){    QString fileName =            QFileDialog::getSaveFileName(this, tr("Save .h File"),                                         QDir::currentPath(),                                         tr("C++ header file (*.h)"));    if (fileName.isEmpty())        return;    QFile file(fileName);        statusBar()->showMessage(fileName + tr("File saved"), 2000);}void MainWindow::about(){   QMessageBox::about(this, tr("About SAX UI Parser"),            tr("The <b>SAX UI Parser</b>."));}void MainWindow::createActions(){    openAct = new QAction(tr("&Open..."), this);    openAct->setShortcut(tr("Ctrl+O"));    connect(openAct, SIGNAL(triggered()), this, SLOT(open()));    saveAsAct = new QAction(tr("&Save As..."), this);    saveAsAct->setShortcut(tr("Ctrl+S"));    connect(saveAsAct, SIGNAL(triggered()), this, SLOT(saveAs()));    exitAct = new QAction(tr("E&xit"), this);    exitAct->setShortcut(tr("Ctrl+Q"));    connect(exitAct, SIGNAL(triggered()), this, SLOT(close()));    aboutAct = new QAction(tr("&About"), this);    connect(aboutAct, SIGNAL(triggered()), this, SLOT(about()));    aboutQtAct = new QAction(tr("About &Qt"), this);    connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt()));}void MainWindow::createMenus(){    fileMenu = menuBar()->addMenu(tr("&File"));    fileMenu->addAction(openAct);    fileMenu->addAction(saveAsAct);    fileMenu->addAction(exitAct);    menuBar()->addSeparator();    helpMenu = menuBar()->addMenu(tr("&Help"));    helpMenu->addAction(aboutAct);    helpMenu->addAction(aboutQtAct);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -