Просмотр сообщений
|
Страниц: 1 2 3 [4] 5 6 ... 9
|
49
|
Qt / Мультимедиа / Re: QVideoWidget и mouseTracking
|
: Март 03, 2015, 14:55
|
Igors, большое спасибо за тестирование. На Виндовс у меня вывод 1470 QWidgetWindow(0xa37020, name = "QVideoWidgetClassWindow") 5 1471 QVideoWidget(0xa2fc28) 5 1472 QWidgetWindow(0xa37020, name = "QVideoWidgetClassWindow") 5 1473 QVideoWidget(0xa2fc28) 5 1474 QWidgetWindow(0xa37020, name = "QVideoWidgetClassWindow") 5 1475 QVideoWidget(0xa2fc28) 5 1476 QWidgetWindow(0xa37020, name = "QVideoWidgetClassWindow") 5 1477 QVideoWidget(0xa2fc28) 5 1478 QWidgetWindow(0xa37020, name = "QVideoWidgetClassWindow") 5 1479 QVideoWidget(0xa2fc28) 5 1480 QWidgetWindow(0xa37020, name = "QVideoWidgetClassWindow") 5 1481 QVideoWidget(0xa2fc28) 5 1482 QWidgetWindow(0xa37020, name = "QVideoWidgetClassWindow") 5
а вот на Убунте такой: 9587 QWidgetWindow(0xe425e0, name = "MainWidgetClassWindow") 5 9588 MainWidget(0x9520b0) 5 9589 QXcbConnection(0x7676b0) 43 9590 QWidgetWindow(0xe425e0, name = "MainWidgetClassWindow") 5 9591 MainWidget(0x9520b0) 5 9592 QXcbConnection(0x7676b0) 43 9593 QWidgetWindow(0xe425e0, name = "MainWidgetClassWindow") 5 9594 MainWidget(0x9520b0) 5 9595 QXcbConnection(0x7676b0) 43 9596 QWidgetWindow(0xe425e0, name = "MainWidgetClassWindow") 5 9597 MainWidget(0x9520b0) 5 9598 QXcbConnection(0x7676b0) 43 9599 QWidgetWindow(0xe425e0, name = "MainWidgetClassWindow") 5 9600 MainWidget(0x9520b0) 5 9601 QXcbConnection(0x7676b0) 43
Проект запускал тот же, который прикреплял к теме. "mme" не печатает совсем, разве что если мышкой водить с нажатой левой кнопкой. Скажите, а при нажатии кнопки "Открыть" на форме у Вас форма не "уезжает" в левый верхний угол? На Убунте при этом появляется сообщение: void QWindow::setTransientParent(QWindow*) QWidgetWindow(0xf7a7a0, name = "VideoFormWindow") must be a top level window.
|
|
|
51
|
Qt / Базы данных / Re: PostgreSQL: сообщения об ошибках
|
: Март 03, 2015, 12:13
|
Первый вариант определенно лучше для внятных сообщений об ошибках. Тем более в этом случае все будет на сервере БД, клиенты будут дергать только хранимые процедуры. В случае любых изменений, Вам необходимо будет поправить процедуру, и не думать о том сколько у Вас клиентов и все ли обновили версию ПО для корректной работы с изменившейся структурой, например.
|
|
|
52
|
Qt / Установка, сборка, отладка, тестирование / Re: как в Qt5 настроить и использовать проект Qt 4.8
|
: Март 03, 2015, 12:07
|
Вы определитесь, чего хотите Вы: или портировать свое приложение с 4 на 5 версию, или собирать с помощью 4ой версии. Настроек нет, все верно. Вы можете попытаться портировать на 5ую версию, для этого надо удалить .pro.user, открыть проект снова и исправить кое-какие ошибки (если их немного и они "исправляемые").
|
|
|
53
|
Qt / Мультимедиа / Re: QVideoWidget и mouseTracking
|
: Март 03, 2015, 10:54
|
Прикрепляю тестовый проект, урезал как мог Использование: вызвать контекстное меню, выбрать видеофайл, подвигать мышкой над QVideoWidget - сообщения с mouseMoveEvent не приходят. Если попробовать переместить виджет с нажатой левой кнопкой мыши, сообщения есть. п.с. вторая проблема проявится, если попробовать нажать на кнопку "Открыть", возможно это связано с первой проблемой. Спасибо. Буду рад любым замечаниям по коду. п.с. Qt нужен 5.2 и выше, где есть уже multimediawidgets
|
|
|
54
|
Qt / Вопросы новичков / Re: Прошу помочь
|
: Март 02, 2015, 19:22
|
1. Чтобы использовать сигналы и слоты (что у Вас используется) нужно отнаследоваться от QObject и написать макрос Q_OBJECT: #include <QObject>
class Test_class: public QObject { Q_OBJECT public: Test_class::Test_class(); ~Test_class(); public slots: void replyFinished(QNetworkReply*); // тот самый слот, который вы подключаете к сигналу finished };
2. this будет у Вас экземпляр класса Test_class.
|
|
|
56
|
Qt / Мультимедиа / Re: QVideoWidget и mouseTracking
|
: Март 02, 2015, 17:34
|
Igors, спасибо. Сделал как Вы написали, оказалось что получает событие виджет (MainWidget), который я устанавливаю центральным для QMainWindow, и который задаю родителем для виджета с QVideoWidget. Может ли такое быть из-за того, что "виджет с QVideoWidget" непосредственно не компонуется на MainWidget, а просто имеет его родителем (сделал так чтобы можно было мышкой перетягивать "виджет с QVideoWidget" внутри окна программы)?
|
|
|
57
|
Qt / Мультимедиа / Re: QVideoWidget и mouseTracking
|
: Март 02, 2015, 16:42
|
Написал такой код: bool VideoWidget::eventFilter(QObject* obj, QEvent* ev) { if (ev->type() == QEvent::MouseMove && obj == mVideoWidget) { qDebug() << "filter"; mouseMoveEvent(static_cast<QMouseEvent*>(ev)); ev->accept(); return true; } else { return QWidget::eventFilter(obj, ev); } }
В конструкторе VideoWidget делаю: mVideoWidget->installEventFilter(this);
где VideoWidget - моя форма, на которой есть QVideoVidget(mVideoWidget). Сообщения "filter" появляются только при движении мыши с нажатой левой кнопкой мыши, если отпустить - никаких сообщений не наблюдается.
|
|
|
58
|
Qt / Мультимедиа / QVideoWidget и mouseTracking
|
: Март 02, 2015, 12:41
|
Здравствуйте. Необходимо получать события движения мыши поверх QVideoWidget. Вроде ничего сложного. Создал своего наследника, переопределил mouseMoveEvent(), написал в конструкторе setMouseTracking(true). Но, не работает) Гугл из внятного показывает это https://bugreports.qt.io/browse/QTBUG-30728. Пробовал отнаследоваться от обычного виджета и на нем разместить QVideoWidget, установив ему Qt::WA_TransparentForMouseEvents. Но и в этом случае все равно не пропускает событий без нажатий кнопки мыши. Как можно выкрутиться с возникшей ситуации? Нечто вроде "накрыть QVideoWidget прозрачным виджетом, который будет ловить события мыши". Спасибо. п.с. Действие происходит на Убунте 14, Qt версии 5.2.
|
|
|
59
|
Qt / Работа с сетью / Re: Как работать с FTP?
|
: Февраль 21, 2015, 10:12
|
Вот тут есть пример работы http://qt-project.org/doc/qt-4.8/network-qftp.html. Если коротко, то командой list() запрашивается список файлов и папок в директории и ловятся сигналы listInfo(), которые испускаются при нахождении файла или папки в директории. The listInfo() signal is emitted whenever information about a single file on the sever has been resolved. This signal is sent when we ask QFtp to list() the contents of a directory.
|
|
|
60
|
Qt / Вопросы новичков / Re: иконка главного окна
|
: Февраль 16, 2015, 21:30
|
Тоже встречал подобное. В одном приложении отображается иконка, в другом - нет. Решения так и не нашел. Не помню на какой Убунте это было, но в последнее время не замечал на 14.04.
|
|
|
|
|