|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.03.2020, 11:47 | #1 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
Странные иконки в программе при присвоении объекту QPicture в качестве QIcon.
Всем привет. Помогите мне с ошибкой.
uptool - QToolBar объект присвоенный главному окну. Если ему присвоить QIcon - рандомные картинки какие то показываются в качестве иконки... crhby - копия (2).png Код:
|
18.03.2020, 12:06 | #2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
QPixmap при addAction не копируется, а передаётся во владение именно этот объект
Поэтому нельзя использовать локальный объект - надо создавать динамически. И свой для каждого пункта, Вы же сами видите на скрине - один и тот же рисунок в обоих пунктах |
18.03.2020, 12:34 | #3 | |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
Цитата:
Код:
|
|
18.03.2020, 16:56 | #4 |
Пользователь
Регистрация: 30.01.2020
Сообщений: 54
|
что именно не работает?
|
18.03.2020, 16:58 | #5 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
|
18.03.2020, 17:34 | #6 |
Пользователь
Регистрация: 30.01.2020
Сообщений: 54
|
так у тебя одна иконка ж рисуется...
у тебя девайсом для рисования выступает все тот же pixmap просто в какой-то момент ты его помещаешь на кнопку в тулбаре, а потом продолжаешь на нем рисовать |
18.03.2020, 17:39 | #7 |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
|
18.03.2020, 17:45 | #8 |
Пользователь
Регистрация: 30.01.2020
Сообщений: 54
|
т.е.?
ну смотри что ты делаешь.. QPainter paint(icon); - создал рисовальщика, обозначил ему холст и начал рисовать (вызвал begin) end() будет вызван автоматически при уничтожении объекта, в твоем случае выходе из роутины твоей... ты ж рисуешь на одном и том же холсте где и что ты щас поменял то, обозначь? |
18.03.2020, 18:00 | #9 | |
Форумчанин
Регистрация: 12.06.2018
Сообщений: 831
|
Цитата:
Код:
|
|
18.03.2020, 18:40 | #10 |
Пользователь
Регистрация: 30.01.2020
Сообщений: 54
|
QPixmap *icon = new QPixmap(50, 50);
QPainter paint(icon); paint.fillRect(0,0,50,50,Qt::black) ; QPen pen; pen.setStyle(Qt::SolidLine); pen.setColor(Qt::green); pen.setWidth(1); paint.setPen(pen); //paint.setBrush(QBrush(Qt::red)); paint.drawRect(5,5, 40, 40); paint.end(); toolBar->addAction(QIcon(), "Размер пера"); toolBar->addAction(QIcon(*icon), "Цвет(1)"); |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Получить несколько объектов в качестве аргументов и получить доступ к каждому объекту | Illusiony | PHP | 3 | 18.04.2019 20:03 |
QPicture | SAMOUCHKA | Qt и кроссплатформенное программирование С/С++ | 0 | 26.08.2016 05:13 |
Большие иконки иконки exe файла | Сидоров | Паскаль, Turbo Pascal, PascalABC.NET | 12 | 02.10.2014 17:41 |
Две иконки в одной программе..? | kta87 | Общие вопросы Delphi | 5 | 23.03.2012 08:52 |
Ошибка при присвоении объекту производного класса объекта базового класса с исп. явного приведения типов | Lanx | Помощь студентам | 0 | 06.04.2011 20:24 |