Политика конфиденциальностиКонтактыО сайтеОтзывыGitHubDonate
© EVILEG 2015-2018
Рекомендует хостинг
TIMEWEB
o
25 мая 2018 г. 12:50

Лишнее нажатие

Добрый день.

Есть кнопка, при нажатии которой открывается новый виджет.
Установил флаг этому виджету:
this->setWindowFlags(Qt::Popup); // закрыть, при нажатии вне окна
Но при нажатии на область Graphics View, рисуется точка. Как на скрине ниже. Как можно этого избежать?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
2
o

Дополнение, что бы не создавать лишней темы.

При сохранении изображения таким образом, на сохраненной картинке появляется серая рамка, толщиной в 1px. Как её можно убрать?
QString newPath = QFileDialog::getSaveFileName(this, trUtf8("save"),
                                                 path,tr("png file(*.png)"));
path = newPath;
QPixmap pixmap = ui->graphicsView->grab();
pixmap.save(path);
0

1) Что касается изначального вопроса, то можно держать переменную типа bool, которая позволит отслеживать наличие открытого всплывающего окна.


Назвать её например
bool m_igonerClicksOnScene;

Когда открыто окно выставлять данную переменную в true и в методах отрисовки делать проверку. Если игнорирование включено, то ничего не рисовать, в противном случае разрешить рисование.

Я не знаю,  как у вас реализовано открытие того окна, поэтому более подробно подсказать не могу.

2) Что касается вашего второго вопроса.

То в метод grab можно передавать ту область, которую вы захватываете. Это значит, что можно взять область в которой расположен виджет графической сцены и уменьшить её на один пиксель со всех сторон, должно выглядеть примерно так.

QString newPath = QFileDialog::getSaveFileName(this, trUtf8("save"),
                                                 path,tr("png file(*.png)"));
path = newPath;
QPixmap pixmap = ui->graphicsView->grab(ui->graphicsView->geometry().adjusted(1,1,-1,-1));
pixmap.save(path);
0

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
IT
25 марта 2019 г. 17:32
Ilya The Engineer

Qt - Тест 001. Сигналы и слоты

  • Результат:5баллов,
  • Очки рейтинга-10
G
25 марта 2019 г. 8:34
GAG

C++ - Тест 002. Константы

  • Результат:41баллов,
  • Очки рейтинга-8
G
25 марта 2019 г. 8:25
GAG

C++ - Тест 001. Первая программа и типы данных

  • Результат:66баллов,
  • Очки рейтинга-1
Последние комментарии
22 марта 2019 г. 12:32
Евгений Легоцкой

Ну может бибилотеки не те положили? У вас сборка для MinGW, а либы для MSVC.
ВН
22 марта 2019 г. 11:08
Волчонок Над-Пропастью

Из кьюта приложение не хочет запускаться, аварийно завершается, но каких-либо ошибок не выдаёт. Оно открывается, после нажатия "старт" зависает и завершается. Если не из кьюта запускать дебаг ...
21 марта 2019 г. 15:49
Евгений Легоцкой

серьезно? Эта ошибка 404 уже даже не относится к данному вопросу. В каких-то urls в вашем проекте. Вопросы, которые не относятся непосредственно к статье, задавайте, пожалуйста на...
АБ
21 марта 2019 г. 15:00
Артем Бел

а это где? сейчас ошибка в debag такая: Page not found (404)Request Method: GETRequest URL: http://amadowshop.site/accounts/profile/
21 марта 2019 г. 12:47
Евгений Легоцкой

не вижу здесь проблемы, поменяйте url для callback в приложения oauth в социальных сетях https://amadowshop.site/auth/verify/complete/facebook/
Сейчас обсуждают на форуме
U
25 марта 2019 г. 12:43
Unreal_man

Как сделать чтоб при клике на ячейку(ос андроид) ее сразу можно было редактировать?QGuiApplication::inputMethod()->show(); показывает клавиатуру, а вот что до этого прописать чтоб текст в ...
m
24 марта 2019 г. 10:36
monevich

Отвечу на свой же вопрос, может кому то это пригодится. Да, можно в функции main использовать такую конструкцию. При запуске программы из Qt передаю свой аргумент в параметрах командной строк...
22 марта 2019 г. 12:29
Дмитрий

Да, мьютекс добавил, но в том потоке, где сигнал вызывается.
ВН
22 марта 2019 г. 9:04
Волчонок Над-Пропастью

Да, на эту проблему! Зато у меня теперь новая, ругается на подключение QMediaPlayer, пишет, что не находит подобного файла или библиотеки. Пока не нашла как исправить, только вариант с переуст...
22 марта 2019 г. 8:58
Михаиллл

4) это , похоже, для создания видоизмененных страниц, для анимации. 3,5) добавить фвйл/qt/ui.qml
Присоединяйтесь к нам в социальных сетях

Для зарегистрированных пользователей на сайте присутствует минимальное количество рекламы