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

Войти
 
   Начало   Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
Страниц: 1 ... 5 6 [7] 8 9 10
 61 
 : Ноября 13, 2024, 23:00 
Автор DarkHobbit - Последний ответ от DarkHobbit
Добрый вечер.

Насколько я понимаю, если передать в lrelease имя файла проекта, она обойдёт все TRANSLATIONS и создаст выходные qm-файлы в том же каталоге, где были оригиналы.

Есть какой-то способ изменить это поведение? Когда я делаю теневую сборку, вызывая qmake и make из стороннего каталога, все промежуточные и выходные файлы создаются именно в теневом каталоге. И только *.qm генерируются рядом со своими исходниками (*.ts). Не смертельно, но обидно: теневая сборка же предназначена для того, чтобы не замусоривать дерево исходников...

P.S. Я в курсе, что сейчас вместо lrelease с передачей файла проекта рекомендуют lrelease-pro, но насколько я понимаю, логика там точно такая же...

 62 
 : Ноября 12, 2024, 09:54 
Автор DarkHobbit - Последний ответ от ssoft
Можно задать ограничение на диапазон дат в 1 год

Код
C++ (Qt)
calendar->setDateRange(min, max);
 

и
Цитировать
можно не заморачиваться и при отсутствии года вызвать
если так пользователю удобнее будет.

 63 
 : Ноября 11, 2024, 22:40 
Автор DarkHobbit - Последний ответ от DarkHobbit
Добрый день.
Я сейчас добавляю в свой проект поддержку редактирования дней рождения, у которых есть только месяц и день, но поддержку дат с годом тоже надо сохранить.
Взял стандартный QDateTimeEdit.
Код
C
QDateTimeEdit *editor;
...
editor->setDisplayFormat("dd.MM");
При этом, как и ожидал, показываются только секции дня и месяца. Если же пользователь явно указывает, что год есть, я вызываю
Код
C
editor->setDisplayFormat("dd.MM.yyyy");
И восстанавливаю полный вид. Казалось бы всё хорошо...
Но если нажать на кнопочку календаря, календарь всё равно вылезает с годом, и его можно редактировать, что будет сбивать людей с толку. Указание, что года нет, должно быть явным. Собственно, это нужно для редактирования контактов формата vCard, где подобные даты сохраняются в виде
Код:
BDAY:--0412

P.S. Пока описывал проблему, подумал, что для дат без года этот календарь вообще смысла не имеет. И что можно не заморачиваться и при отсутствии года вызвать
Код
C
setCalendarPopup(false)
И вся недолга. Месяц и день оставшийся виджет редактировать позволяет, ограничения на значения устанавливает грамотно...

Как считаете, нормальное решение?

 64 
 : Ноября 03, 2024, 23:37 
Автор tumanovaleх - Последний ответ от qate
слово "шлее" слышал ранее ?

 65 
 : Ноября 01, 2024, 22:49 
Автор tumanovaleх - Последний ответ от tumanovaleх
Здравствуйте!
Начинаю осваивать QT (Windows, Msys2). Чтобы это делать на конкретном примере, решил перевести на QT свой проект на C# по работе с АЦП. Начал с создания контролов на форме. Возникли следующие вопросы:
1. При запуске программы при изменении размера формы с помощью правого нижнего угла размер можно сделать гораздо меньше используемого мной tabWidget. Как сделать так, чтобы размеры формы можно было изменить только так, чтобы они не были меньше пространства, занимаемого на форме контролами?
2. Как у groupBox сделать более толстыми ограничивающие его линии? А то по умолчанию они очень тонкие и их плохо видно.
3. Я выбрал для формы formLayout. Может опытные пользователи подкажут, какие лайоуты лучше выбирать для формы с многими контролами?
Проект прикрепил.

 66 
 : Октября 25, 2024, 23:24 
Автор demaker - Последний ответ от kambala
Да в студии используется стандартный компилятор(msvc toolset), а в Qt MinGW32bit
господи, какая же у тебя каша в голове... Нет никакого «стандартного компилятора», есть вполне конкретная версия msvc toolset, ее можно увидеть через установщик студии.
Т.е получается, что библа используемая в проекте должна быть собрана тем же компилятором что и сам проект иначе никак.
Я правильно понимаю?  Может можно как-то настроить?
да, правильно. Не понял что ты хочешь настроить.

 67 
 : Октября 25, 2024, 22:08 
Автор KSergeyP - Последний ответ от KSergeyP
Вот еще при сборке  MinGW64:
    WARNING: Basic cpp/winrt support missing. Some features might not be available.

Что хочет? Вот на гитхабе этот winrt: https://github.com/microsoft/cppwinrt
Как его в сборку запихнуть?
Или компилятор должен быть собран с его поддержкой? - https://packages.msys2.org/base/mingw-w64-cppwinrt

 68 
 : Октября 25, 2024, 15:21 
Автор demaker - Последний ответ от ssoft
Извините что сразу не уточнил Смеющийся

Да в студии используется стандартный компилятор(msvc toolset), а в Qt MinGW32bit

Т.е получается, что библа используемая в проекте должна быть собрана тем же компилятором что и сам проект иначе никак.
Я правильно понимаю?  Может можно как-то настроить?

В C++ нет стандарта по экспорту методов при сборке библиотек, поэтому библиотеки совместимы только тогда, когда собраны одним и тем же компилятором.

Такой стандарт есть в C, но тогда в C++ коде глобальные методы (для других нельзя) нужно задекларировать как

Код
C++ (Qt)
// MyCFuncs.h
#ifdef __cplusplus
extern "C" {  // only need to export C interface if
             // used by C++ source code
#endif
 
__declspec( dllimport ) void MyCFunc();
__declspec( dllimport ) void AnotherCFunc();
 
#ifdef __cplusplus
}
#endif
 

Далее небольшой геморрой с подготовкой файлов для другого компилятора

Инструментами из состава MinGW для библиотеки требуется выполнить

  • Запустить gendef example.dll(сгенерирует example.def)
  • Запустить dlltool -D example.dll -d example.def -l libexample.a(сгенерирует libexample.a)
  • Использовать libexample.a вместе с example.dll для линковки с проектом на MinGW

И главное не напутать с битностью библиотеки, так как инструменты не выдают никаких ошибок).

Такой подход следует использовать только тогда, когда нет исходных файлов example и он поставляется исключительно в виде готовой библиотеки, в противном случае это просто садомазохизм.

 69 
 : Октября 25, 2024, 09:48 
Автор demaker - Последний ответ от demaker
Цитировать
правда это на другой машине и там нету VS
ну если там используется не тот же компилятор (msvc toolset), которым ты собрал библиотеку, то чему ты удивляешься. Видимо, мы должны сами угадать какой у тебя компилятор используется на другой машине.

Извините что сразу не уточнил Смеющийся

Да в студии используется стандартный компилятор(msvc toolset), а в Qt MinGW32bit

Т.е получается, что библа используемая в проекте должна быть собрана тем же компилятором что и сам проект иначе никак.
Я правильно понимаю?  Может можно как-то настроить?

 70 
 : Октября 24, 2024, 23:41 
Автор demaker - Последний ответ от kambala
Цитировать
правда это на другой машине и там нету VS
ну если там используется не тот же компилятор (msvc toolset), которым ты собрал библиотеку, то чему ты удивляешься. Видимо, мы должны сами угадать какой у тебя компилятор используется на другой машине.

Страниц: 1 ... 5 6 [7] 8 9 10

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