Russian Qt Forum
Ноябрь 24, 2024, 12:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Открыть файл во внешнем редакторе  (Прочитано 10129 раз)
phpCoder
Гость
« : Апрель 15, 2015, 19:06 »

Добрый день.
Как в Qt (совместно с функциями windows) запустить сторонний редактор и в нем открыть файл?
Например есть текстовый файл. Его можно открыть через блокнот, а можно через Notepad++. Я хочу, чтобы этот файл открылся в Notepad++. Если же данной программы не установлено, то в стандартном блокноте.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Апрель 15, 2015, 19:32 »

Код
C++ (Qt)
bool QDesktopServices::openUrl ( const QUrl & url ) [static]
Записан

Qt 5.11/4.8.7 (X11/Win)
phpCoder
Гость
« Ответ #2 : Апрель 15, 2015, 19:39 »

Нет.
Я же написал: открыть конкретным редактором. А не просто открыть.
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Апрель 15, 2015, 20:22 »

Нет.
Я же написал: открыть конкретным редактором. А не просто открыть.

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

Bepec
Гость
« Ответ #4 : Апрель 15, 2015, 20:53 »

Опять не попали Веселый Он же четко изложил задачу Веселый

На деле всё сложнее.
Надо прошерстить реестр насчёт программ, ассоциированных с расширением файла, в полученном списочке найти свою программу, получить путь к исполняемому файлу и только тогда QProcess и запуск исполняемого файла с параметрами открытия файла (вид командной строки в реестре тоже вроде есть).
 
Записан
phpCoder
Гость
« Ответ #5 : Апрель 15, 2015, 21:07 »

Вот, теперь да)
Не знаю, правда, стоит ли так делать. Или лучше изначально в настройках указать путь к программе-редактору...
Записан
Bepec
Гость
« Ответ #6 : Апрель 15, 2015, 21:28 »

Я б сказал что затраты на это решение могут быть велики.

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

PS самый простой вариант - анализ program files или же изначально указать путь Веселый
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Апрель 16, 2015, 07:43 »

Или лучше изначально в настройках указать путь к программе-редактору...
Намного лучше, особенно если учесть что Вындоуз - не единственная платформа на этом свете
Записан
aRise
Гость
« Ответ #8 : Апрель 17, 2015, 06:32 »

   QProcess::execute("notepad.exe","c:/file.txt");
Записан
Bepec
Гость
« Ответ #9 : Апрель 17, 2015, 06:46 »

Людиии, вы что вопрос не читаете???

PS ппц пишут херню, вопрос не читают. Что творится? Веселый
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #10 : Апрель 17, 2015, 07:05 »

Людиии, вы что вопрос не читаете???

PS ппц пишут херню, вопрос не читают. Что творится? Веселый

А какие из советов неправильны? Непонимающий
Записан

Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #11 : Апрель 17, 2015, 07:18 »

Людиии, вы что вопрос не читаете???

PS ппц пишут херню, вопрос не читают. Что творится? Веселый
Присоединяюсь к предыдущему ответу - а что собственно творится? Похоже Вы освоили разрывание помойной ямы (называемой реестром), а тут Вас лишили этого удовольствия  Улыбающийся
Записан
Bepec
Гость
« Ответ #12 : Апрель 17, 2015, 07:37 »

Цитировать
Например есть текстовый файл. Его можно открыть через блокнот, а можно через Notepad++. Я хочу, чтобы этот файл открылся в Notepad++. Если же данной программы не установлено, то в стандартном блокноте.

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

to gil9red:
неправильны все кроме моего... Если быть более точным - все ответы кроме моего отвечают на заголовок темы, а не на вопрос ТСса.
« Последнее редактирование: Апрель 17, 2015, 07:40 от Bepec » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #13 : Апрель 17, 2015, 11:21 »

Цитировать
Например есть текстовый файл. Его можно открыть через блокнот, а можно через Notepad++. Я хочу, чтобы этот файл открылся в Notepad++. Если же данной программы не установлено, то в стандартном блокноте.

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

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

Не увидел ваш первый ответ Улыбающийся
Записан

__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #14 : Апрель 17, 2015, 11:41 »

Обычно делается в настройках опция "Выбор редактора текста", если она пустая, то используется некий по умолчанию.
Это позволит использовать и Notepad++, и Akelpad, и Multiedit, и, даже, write Улыбающийся
Вам такой вариант не подходит?
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.307 секунд. Запросов: 23.