Вопросы с меткой [qt]


QThread::sleep убивает поток в Qt

Узнать ответ

ответов 1

2

Вы ж в курсе, что в функцию sleep задается время в секундах? sleep(100) - спать 100 секунд, для задания времени в милисекундах, необходимо использовать msleep.

1

Думаю, что просыпается, но через 1 минуту 40 секунд. sleep принимается количество секунд. Далее, в вашем случае мьютексом после wakeall влвдеть никто не будет, потому что после коллективной спячки будут выведены 2 раза I slept и еще один, если вы нажмете кнопку на клавиатуре

0

Спасибо за поправку про секунды, очень глупая ошибка. Но насчёт владения Mutex'ом - в документации написано, что The lockedMutex will be returned to the same locked state. Так что код действительно будет не многопоточный. Для того, чтобы сделать его многопотчным, нужно сразу же после будения потока сделать qmt.unlock();, чтобы никто не владел мьютексом. Потом будет выполняться print(). Так буде происходить во всех 3-х потоках.

Ошибка хранения адреса в указателе?

Ответить

ответов 0

2

"Вышеуказанный код находится в .h файле." в какой-то функции или прямо в "глобальной" области?

1

nextWorldPart[0]=&Europe_CountryCount; Не является ни объявлением, ни определением. Это вызов оператора, который может быть выполнен только в функции.

Visual Studio + CMake + Qt Quick: как настроить отладку?

Ответить

ответов 0

0

Внимательно прочитал этот документ. Информация там дана весьма расплывчато. Насколько я понял, как то можно подключится к одному процессу два раза разными способами и отладчик будет считать что подключен к двум разным процессам одновременно. Попробовал ещё раз подключатся два раза - не получается.

liboping ошибка operation not permitted

Ответить

ответов 0

0

здравствуйте, использую qt каждому файлу проекта раздал права, но всё равно ошибка, она же наверно создаёт объектный файл и его запускает, у которого нет прав. как это поправить ?

0

@DanBit, наверное надо обратиться к системному администратору

0

не понимаю как там решается проблемам ?

0

Обычно такие ошибки возникают, если нет доступа к какому-либо внешнему ресурсу: файлу, порту. Может мешать файервол, или порт закрыт для вашего сервиса и так далее

Архитектура приложения vlc видеоплеер - распознование

Ответить

ответов 0

0

Можно поподробнее, откуда vlc плеер принимает видеопоток, где находится функция распознавания и как он передает в неё изображение?

0

VLC принимает поток с камеры. Функция распознования находится в отдельном классе, как раз в параметры функции кладется изображение

Необходимо сделать библиотеку для windows и linux

Ответить

ответов 0

0

из вопроса неясно в чем заключается проблема. Уточните, пожалуйста, что вы хотите сделать + инструментарий

0

#ifdef Windows ...

0

Как задать хороший вопрос?

0

CMake и в бой)) А вообще прочитайте про кросс-платформенный код на С++

Как можно реализовать следующий виджет в qt4.7.8

qt

Узнать ответ

ответов 1

0

Композитный виджет. Состав: два QToolButton, один QLCDNumber, или QLabel для вывода часов, а также qss

0

Можно попросить пример?

0

Попробуйте самостоятельно. В любом случае придет господин @S.Nick и все сделает за вас ))

0

@AlexanderChernin я любитель PyQt, сейчас что-нибудь легенькое набросаю. Если вам понравится, сделаете перевод.

0

@S.Nick перевод на карту сбербанка? :))

Как повернуть объект в PyQT5?

Узнать ответ

ответов 2

1

В Qt4 все виджеты были в модуле QtGui, а переход к Qt5 внес разделение на QtGui и QtWidgets. Мне кажется что то, что вы делаете лучше делать через графическую сцену: QGraphicsScene. В нее можно и полноценные виджеты добавлять

Написание небольшого графического приложения, симулирующего тех. процесс

Ответить

ответов 0

1

Всё, что может быть написано на JS, рано или поздно будет написано на JS. Так что... ;) Electron

0

Зависит, конечно, от вашего опыта в js, python, но все же выучить С++ за 1,5 месяца будет тяжело. Да ещё + qt.

0

@Alex Sazonov, у Вас опыт на ElectronJS есть, как там со скоростью работы? По наслышке, приложения работают не достаточно быстро.

0

У меня нет. Но vscode, slack, postman и ещё много чего на электроне написаны. Я не жалуюсь. Но так-то да, это, считай, инстанс хрома запущен. Со всеми вытекающими

3

может быть есть смысл сделать упор на QML, это почти js хотя C++ немного будет нужен. Или если знаете питон писать в PyQT

0

Десктоп под винду сейчас больше на С# пишут, чем на С++. А Qt надо брать, если предполагается, что приложение будет перенесено на Линукс. Если же приложение только для винды, то Qt не особо нужно.

0

знаете js - пишите на js, чем он плох для Вашей задачи?

Не видит функции из QT библиотек в XCode (MacOS)

Ответить

ответов 0

0

"Подключаю библиотеки к header-у" - нет. Вы не библиотеки подключаете, а включаете заголовочные файлы в свой заголовочный файл. Покажите pro файл, пожалуйста.

0

@vt-egorov, QT -= gui CONFIG += c++11 console CONFIG -= app_bundle DEFINES += QT_DEPRECATED_WARNINGS SOURCES += \ main.cpp qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target

0

Видимо,надо подключить библиотеку, содержащую класс QImage. qt += gui может быть вместо qt -= gui? В документации к QImage написано что-нибудь?

0

Да, там прям так и написано в шапке: QT += gui QImage

0

@vt-egorov, да, из-за qt-=gui не работало) Удивительно, что там изначально минус стоял. И не додумался бы, благодарю.

0

@vt-egorov, слушай, все работает, но во время компиляции выводит следующее: 'QImage::setPixelColor: called on monochrome or indexed format'. На visual studio 2019 такой же код работает правильно и применяет фильтры к фото. Тут же никаких изменений, фильтры не работают, будто setPixelColor просто не меняет цвет пикселя. Не знаешь в чем проблема?

0

С одними фото работает, с другими нет. Хотя формат одинаковый, как и размер. Интереса ради спрашиваю

0

"Не работает" - очень плохое описание проблемы. Создайте ещё один тикет, подробно опишите шаги, которые нужно выполнить для получения "не работающего" результата. Подробно опишите что Вы имеете в виду под "работающим" результатом. Желательно - с примером входных и выходных данных. Ну и саму тестовую программку желательно, чтобы можно было скопировать, скомпилировать, запустить и посмотреть в отладчике/логи добавить. Ну в общем, сделать за Вас то что Вам нужно, но не тратя на это кучу своего времени.

0

А, ну да. Ещё макбук купить. Забыл.

Как вставить картинку в QLabel, чтобы она не растягивалась на всю площадь, а сохраняла пропорции?

Ответить

ответов 0

0

А если добавить repeat "border-image: url(C:/Users/Meshtli/Desktop/hi/Kursach/word/2.jpg) repeat;"?

0

а если просто background-image:url(C:/Users/Meshtli/Desktop/hi/Kursach/wor‌​d/2.jpg);

0

Сорян, уже нашла решение. QPixmap p; // load pixmap p.load("C:/Users/Meshtli/Desktop/hi/Kursach/word/2.jpg"); // get label dimensions int w = ui->label->width(); int h = ui->label->height(); // set a scaled pixmap to a w x h window keeping its aspect ratio ui->label->setPixmap(p.scaled(w,h,Qt::KeepAspectRatio));

0

@МарияМатвиенко, добавьте это решение в ответ :)

Адаптивный макет в Qt

Ответить

ответов 0

0

Конечно можно прямо в Дизайнере. Выбираете нужный виджет и в верхнем меню, в режиме Дизайнера, выбираете нужный лейаут

0

@AlexanderChernin к сожалению нет возможности сделать это в конструкторе форм.

0

@jNX, это можно сделать в конструкторе форм. Насколько я помню если на пустом окне кликнуть на три линии (вертикальные или горизонтальные), то компоновщик станет компоновщиком текущего окна: build-system.fman.io/static/public/img/qt-designer-windows.p‌​ng . В ui компоновщик будет внутри виджета: github.com/gil9red/QRCodeGenerator/blob/…

0

@gil9red во правы , Я как то даже не знал о такой возможности. Специально создал проект и попробовал все. Об верхнем меню как то даже не подумал\не так понял

Как сделать всплывающие окно по событию event(QEvent *e)

Ответить

ответов 0

0

так в чем вопрос то? если как вы пишите обработчик события уже есть

0

Вопрос как привязать окно к этому событию? И вызывать его поверх любого окна с фокусировкой. Надеюсь понятно сказал.

0

Для создания окна поверх других вам судя по всему надо модальное окно, которые в кьют реализуются классом QDialog (метод exec()). Вам надо пронаследоваться от QDialog (добавить там контролы и т.п.) и по наступлению вашего события создавать диалог и вызывать метод exec. Не понятно как реализовано ваше событие, но думаю, его без проблем можно обернуть в стандартную для кьют систему сигнал-слот

0

Отловить сигнал достаточно просто думаю даже не стоит объяснять, а по поводу вызова окна. Необходимо создать модальное(в случае если не нужно больше проверять флешки) окно в котором будет какое то наполнение. Сигнал прикрутить тоже нет проблем, а вызвать окно по верх других на сколько я помню за это отвечает нужный флаг Qt::WindowStaysOnTopHint, для функции setWindowFlags для модального окна.