首页 > 解决方案 > 如何为 Qt 应用程序实现“打开方式”?

问题描述

如何在 QT C++ 中创建一个文本编辑器,我可以通过右键单击它打开任何文本文档并使用我的应用程序打开它。

标签: c++windowsqt

解决方案


首先接收文件路径作为位置参数 main.cpp

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QCommandLineParser parser;
    parser.addPositionalArgument("file", QCoreApplication::translate("main", "The file to open."));
    parser.process(a);
    MainWindow w;
    w.show();
    QStringList filename=parser.positionalArguments();
    w.OpenFileInText(filename[0]);
    return a.exec();
}

然后将文件传递给打开文件方法。下面是 MainWindow.cpp 中的方法

void MainWindow::OpenFileInText(QString strFilePath)
{
    ui->plainTextEdit->clear();
    QFile file(strFilePath);
    if(!file.open(QIODevice::ReadOnly)) {
        QMessageBox::information(0, "error", file.errorString());
    }

    QTextStream in(&file);

    while(!in.atEnd())
    {
        QString line = in.readLine();
        ui->plainTextEdit->appendPlainText(line) ;

    }

    file.close();
}

推荐阅读