Russian Qt Forum

Qt => Общие вопросы => Тема начата: phpCoder от Апрель 15, 2015, 19:06



Название: Открыть файл во внешнем редакторе
Отправлено: phpCoder от Апрель 15, 2015, 19:06
Добрый день.
Как в Qt (совместно с функциями windows) запустить сторонний редактор и в нем открыть файл?
Например есть текстовый файл. Его можно открыть через блокнот, а можно через Notepad++. Я хочу, чтобы этот файл открылся в Notepad++. Если же данной программы не установлено, то в стандартном блокноте.


Название: Re: Открыть файл во внешнем редакторе
Отправлено: GreatSnake от Апрель 15, 2015, 19:32
Код
C++ (Qt)
bool QDesktopServices::openUrl ( const QUrl & url ) [static]


Название: Re: Открыть файл во внешнем редакторе
Отправлено: phpCoder от Апрель 15, 2015, 19:39
Нет.
Я же написал: открыть конкретным редактором. А не просто открыть.


Название: Re: Открыть файл во внешнем редакторе
Отправлено: gil9red от Апрель 15, 2015, 20:22
Нет.
Я же написал: открыть конкретным редактором. А не просто открыть.

Тогда через QProcess, нужно указать путь к программе и в аргументах ее путь к файлу


Название: Re: Открыть файл во внешнем редакторе
Отправлено: Bepec от Апрель 15, 2015, 20:53
Опять не попали :D Он же четко изложил задачу :D

На деле всё сложнее.
Надо прошерстить реестр насчёт программ, ассоциированных с расширением файла, в полученном списочке найти свою программу, получить путь к исполняемому файлу и только тогда QProcess и запуск исполняемого файла с параметрами открытия файла (вид командной строки в реестре тоже вроде есть).
 


Название: Re: Открыть файл во внешнем редакторе
Отправлено: phpCoder от Апрель 15, 2015, 21:07
Вот, теперь да)
Не знаю, правда, стоит ли так делать. Или лучше изначально в настройках указать путь к программе-редактору...


Название: Re: Открыть файл во внешнем редакторе
Отправлено: Bepec от Апрель 15, 2015, 21:28
Я б сказал что затраты на это решение могут быть велики.

Зная реестр, я думаю что там минимум 5-6 ссылочных гуидов для каждой программы будет :D

PS самый простой вариант - анализ program files или же изначально указать путь :D


Название: Re: Открыть файл во внешнем редакторе
Отправлено: Igors от Апрель 16, 2015, 07:43
Или лучше изначально в настройках указать путь к программе-редактору...
Намного лучше, особенно если учесть что Вындоуз - не единственная платформа на этом свете


Название: Re: Открыть файл во внешнем редакторе
Отправлено: aRise от Апрель 17, 2015, 06:32
   QProcess::execute("notepad.exe","c:/file.txt");


Название: Re: Открыть файл во внешнем редакторе
Отправлено: Bepec от Апрель 17, 2015, 06:46
Людиии, вы что вопрос не читаете???

PS ппц пишут херню, вопрос не читают. Что творится? :D


Название: Re: Открыть файл во внешнем редакторе
Отправлено: gil9red от Апрель 17, 2015, 07:05
Людиии, вы что вопрос не читаете???

PS ппц пишут херню, вопрос не читают. Что творится? :D

А какие из советов неправильны? ???


Название: Re: Открыть файл во внешнем редакторе
Отправлено: Igors от Апрель 17, 2015, 07:18
Людиии, вы что вопрос не читаете???

PS ппц пишут херню, вопрос не читают. Что творится? :D
Присоединяюсь к предыдущему ответу - а что собственно творится? Похоже Вы освоили разрывание помойной ямы (называемой реестром), а тут Вас лишили этого удовольствия  :)


Название: Re: Открыть файл во внешнем редакторе
Отправлено: Bepec от Апрель 17, 2015, 07:37
Цитировать
Например есть текстовый файл. Его можно открыть через блокнот, а можно через Notepad++. Я хочу, чтобы этот файл открылся в Notepad++. Если же данной программы не установлено, то в стандартном блокноте.

А теперь ответьте, последние 2 ответа решают задачу проверки установки какой либо программы? Или это работа равнозначна запуску любого файла ?

to gil9red:
неправильны все кроме моего... Если быть более точным - все ответы кроме моего отвечают на заголовок темы, а не на вопрос ТСса.


Название: Re: Открыть файл во внешнем редакторе
Отправлено: gil9red от Апрель 17, 2015, 11:21
Цитировать
Например есть текстовый файл. Его можно открыть через блокнот, а можно через Notepad++. Я хочу, чтобы этот файл открылся в Notepad++. Если же данной программы не установлено, то в стандартном блокноте.

А теперь ответьте, последние 2 ответа решают задачу проверки установки какой либо программы? Или это работа равнозначна запуску любого файла ?

to gil9red:
неправильны все кроме моего... Если быть более точным - все ответы кроме моего отвечают на заголовок темы, а не на вопрос ТСса.

Не увидел ваш первый ответ :)


Название: Re: Открыть файл во внешнем редакторе
Отправлено: __Heaven__ от Апрель 17, 2015, 11:41
Обычно делается в настройках опция "Выбор редактора текста", если она пустая, то используется некий по умолчанию.
Это позволит использовать и Notepad++, и Akelpad, и Multiedit, и, даже, write :)
Вам такой вариант не подходит?


Название: Re: Открыть файл во внешнем редакторе
Отправлено: Igors от Апрель 17, 2015, 11:56
Не увидел ваш первый ответ :)
Вы ничего не потеряли  :)