【发布时间】:2021-11-23 06:09:23
【问题描述】:
如何在 QT C++ 中创建一个文本编辑器,我可以通过右键单击它打开任何文本文档并使用我的应用程序打开它。
【问题讨论】:
-
这不是程序的责任,至少不完全是。这是注册\部署的问题,方法取决于操作系统。
-
Search SO 会给你例如stackoverflow.com/questions/20449316/…
如何在 QT C++ 中创建一个文本编辑器,我可以通过右键单击它打开任何文本文档并使用我的应用程序打开它。
【问题讨论】:
首先接收文件路径作为位置参数 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();
}
【讨论】: