Здравствуйте, гость ( Вход | Регистрация )
igor_bogomolov | Дата 20.1.2011, 17:05 |
http://www.crossplatform.ru/node/227 | |
VitAl2013 | Дата 20.1.2011, 16:50 |
Что нибудь я читал и представления имею... Практики мало. Тем более в контексте Qt, что это значит и как реализуется я не понимаю. | |
Rocky | Дата 20.1.2011, 14:47 |
да. Но лучче почитать хотя бы что-нибудь о С++ в таком случае. Что такое классы, наследование и пр. |
|
VitAl2013 | Дата 20.1.2011, 14:39 |
Хорошо буду рыть. Но я нуб (чайник) так что буду делать это долго. Хотелось бы пример готовый. Наследоваться - это как? Создавать объект наследник класса? |
|
igor_bogomolov | Дата 20.1.2011, 14:10 |
VitAl2013, проблема не в том что бы сделать кнопку квадратной. Это запросто (но не в дизайнере (хотя и там тоже можно, но только фиксированного размера)). Проблемы возникнут при ресайзе такой формы. Между виджетами будут появляться большие зазоры, что очень портит интерфейс. Если это не так страшно, то делай как сказал Rocky, нужно наследоваться от кнопки и переопределять QWidget::heightForWidth и выставляй там height = width |
|
VitAl2013 | Дата 20.1.2011, 14:00 |
А нельзя ли сделать свой дочерний виджет-кнопку у которой прописать "высота = ширине" или это всё равно приведёт к неверной реакции компановщиков? | |
Rocky | Дата 20.1.2011, 13:28 |
Кстати да, припоминаю.. Как-то нужно было сделать по 8 квадратных виджетов справа и слева от главной формы. А по середине еще много всяких виджетов было.... Затык был на несколько дней, потому что от ресайза одних виджетов, зависело положение других... И ресайз/лэйаут происходил черте как.... Каким-то образом я сделал чтоб работало как надо, но код жутковатый был... да =) | |
igor_bogomolov | Дата 20.1.2011, 13:00 |
Rocky, говоришь ты все правильно, вот только в реальности по нормальному решить эту задачу мне так и не удалось. Компоновщики не правильно реагируют на подобные виджеты. Единственный путь который я здесь вижу, это создавать собственный компановщик | |
Rocky | Дата 20.1.2011, 12:45 |
в дизайнере никак. А вообще, нужно наследоваться от кнопки и переопределять QWidget::heightForWidth Еще думаю можно поставить eventFilter, ловить когда будет ресайз, и ставить кнопке setFixedSize(...) или setGeometry(...) |
|
igor_bogomolov | Дата 20.1.2011, 11:13 |
Как в дизайнере создать кнопку которая бы сохраняла свою квадратную форму при растягивании? Если можно то пример сразу. к сожалению ни как. Этого и в коде не так просто добиться |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.4.2024, 5:49 |