Название: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 11, 2011, 15:57 Здравствуйте.
Я сейчас на практике и мне нужно сделать задание в Qt, в котором я полный ноль. У меня есть вопросы созданию интерфейса пользователя. Меня конечно тут пошлют читать документацию, но, тысяча извинений, время дорого. Читаю я медленно, а тут отвечают быстро и по сути. Вопрос: как в QMainWindow сделать заголовок не по центру, а слева? Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Пантер от Июля 11, 2011, 16:04 Никак. Этим занимается менеджер окон.
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 11, 2011, 16:20 Т.е в QMainWindow Title возможен толькопо центру?
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Авварон от Июля 11, 2011, 16:23 да, заголовок рисует ОС.
можно конечно не давать ей рисовать заголовок и сделать рисование руками, однако заголовок вы не сумеете сделать похожим на родной Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Igors от Июля 11, 2011, 16:27 ...а тут отвечают быстро и по сути. Ну против таких приемчиков мужчины беззащитны :)Вопрос: как в QMainWindow сделать заголовок не по центру, а слева? Qt::FramelessWindowHint - заниматься title и border окна самому. Ничего "особо сложного" там нет, и это имеет свои плюсы. Другого решения не знаю (и верю Пантер(у) что его вообще нет) Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: lit-uriy от Июля 11, 2011, 16:29 либо делать окно без шапки, и рисовать шапку ручками, ищи по форуму - обсуждалось
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Пантер от Июля 11, 2011, 16:30 А зачем это вообще понадобилось?
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 11, 2011, 17:26 Понадобилось, потому что в задании по практике так нарисовно, но если этим ОС управляет, тогда оставлю как есть, в Виндовс наверное слева будет.
Спасибо за ответы, буду дальше продолжать исследования. Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 11, 2011, 19:12 Еще вопрос:
Как сделать кнопку QPushButton квадратной и надпись на ней поместить в 3 строчки? Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Пантер от Июля 11, 2011, 20:18 Установить ей нужный размер (setSize).
Код
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 12, 2011, 15:46 Спасибо еще раз. У меня вопросы продолжаются: как "приклеить" кнопку к низу элемента QVBoxLayout?
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Igors от Июля 12, 2011, 15:57 Спасибо еще раз. У меня вопросы продолжаются: как "приклеить" кнопку к низу элемента QVBoxLayout? Цитировать If nothing could help - it's time to read doc :) Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 12, 2011, 17:36 Да, вы правы, нужно читать. С приклеиванием кнопки к низу уже разобралась, спасибо.
Сейчсас мучаюсь с добавлением пункта с иконкой в QComboBox, с функцией additem(const QIcon &i con,const QString & text, const QVariant & userData = QVariant() ), мне не совсем понятно, даже после чтения документации, что такое QVariant & userData = QVariant(), а без него не работает. Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 12, 2011, 18:09 Тысяча извинений, отменяю свой последний вопрос, разобралась. Не работало, потому что я не правильно источники с иконками добавила. Из-за такой ерунды 2 часа потеряно.
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 13, 2011, 17:13 Подскажите пожалуйста, или хотя бы дайте ссылкугде почитать, как с помощью Qt получить список подсоединенных usb-устройств, в Windows?
Вопрос правда не совсем по польз. интерфейсу, сорри. Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Авварон от Июля 13, 2011, 17:23 а никак
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Fess от Июля 14, 2011, 10:26 Подскажите пожалуйста, или хотя бы дайте ссылкугде почитать, как с помощью Qt получить список подсоединенных usb-устройств, в Windows? Использовать win api.Вопрос правда не совсем по польз. интерфейсу, сорри. Вы вероятно хотите записать/прочитать с флешки. Может быть для этого достаточно получить список файловых систем (QDir::drives())? Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 18, 2011, 15:57 Использовать win api. Спасибо за ответ.Вы вероятно хотите записать/прочитать с флешки. Может быть для этого достаточно получить список файловых систем (QDir::drives())? Да, записать тоже, но для начала предоставить пользователю список подключенных флешек, чтоб он выбрал нужную, наверное QDir::drives() не обойтись. У меня снова вопрос по интерфейсу: существует ли возможность сделать заголовок рамки, типа ---- Текст----------- (это верх рамки). К сожалению, у элемента QFrame нужной функции мне найти не удалось. Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: kambala от Июля 18, 2011, 16:41 QGroupBox
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 19, 2011, 19:45 QGroupBox Спасибо.Еще вопрос: как сделать элемент, при нажатии на который пользователю предоставляется возможность выбора цвета из палитры из 16-ти цветов? Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: kambala от Июля 19, 2011, 20:26 QColorDialog? если не подходит, сделай свой (вариантов реализации куча)
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 20, 2011, 10:28 Когда я пытаюсь добавить QColorDialog в лейаут, палитра прямо в окне интерфейса рисуется. Наверное нужно в лейаут добавлять какой-нибудь элемент, при щелчке на который вызывается QColorDialog?
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: kambala от Июля 20, 2011, 10:45 Наверное нужно в лейаут добавлять какой-нибудь элемент, при щелчке на который вызывается QColorDialog? да, кнопочку напримерНазвание: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Пантер от Июля 20, 2011, 10:45 Добавляешь кнопку, в слоте вызываешь QColorDialog.
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 20, 2011, 12:07 Пробую с кнопкой, мой слот
Код: void Paramgen1::on_colorbutton_clicked(){ но цвет кнопки после выбора не меняется. Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: kambala от Июля 20, 2011, 12:21 надо наверное через setStyleSheet(), а не setPalette()
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 20, 2011, 12:52 надо наверное через setStyleSheet(), а не setPalette() Спасибо, но мне не понятно как можно в setStyleSheet() передать цвет, которого мы не знаем, потому что пользователь его еще должен выбрать.Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 20, 2011, 14:17 Нашла ответ на свой предыдущий вопрос, если
кого-то заинтересует Код: void Paramgen1::on_pagecolorbutton_clicked() Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: m_ax от Июля 20, 2011, 15:49 Вопрос уже поднимался, правда давно) http://www.prog.org.ru/topic_13037_0.html#lastPost (http://www.prog.org.ru/topic_13037_0.html#lastPost)
Выкладываю пример с ColorButton Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 20, 2011, 16:36 Спасибо за ссылку, там на фото девушка брюнетка, у нее наверное и без форума все получается. А у меня следующий вопрос: какой элемент нужно использовать, стоб при нажатии кнопки в него добавлялась строка? Сразу скажу, что потом мне нужно будет делать слоты на перемещение курсора (щелчок на строку) в этом элементе.
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: kambala от Июля 20, 2011, 16:55 QListWidget
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 22, 2011, 15:06 Вопрос по использованию QFrame и QLayout:
Мне нужно сделать цвет фона у Layout, для этого я создаю - внешний Layout myLayoutEx - myLayoutIn (в котором все мои виджеты) - фрейм myFrame, у которого устанавливаю цвет фона. Потом делаю myFrame->setLayout(myLayoutIn); myLayoutEx -> addWidjet(myFrame); работает, но мне не нравится этот способ. Подскажите плз., как можно красиво изменить цвет фона в Layout. Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Странник от Июля 22, 2011, 15:15 Мария, никак. QLayout и его наследники лишь управляют размещением элементов (виджетов), при этом сами виджетами не являются и не отрисовываются. соответственно, и цвета иметь не могут.
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 22, 2011, 15:26 Мария, никак. QLayout и его наследники лишь управляют размещением элементов (виджетов), при этом сами виджетами не являются и не отрисовываются. соответственно, и цвета иметь не могут. Т.е., если мне нужно закрасить кусок окна, никак не обойтись без 2-х лейаутов и фрейма?Если я правильно понимаю, метод setLayout добавляет лейаут во внутрь фрейма, а не вокруг него? Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: TaIRou от Июля 22, 2011, 16:21 метод setLayout добавляет лейаут во внутрь фрейма, а не вокруг него? после чего layout управляет компоновкой виджетов внутри фреймаНазвание: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 26, 2011, 16:12 Спасибо всем за ответы.
У меня снова проблемка: делаю в QGroupBox заголовок крупным шрифтом и все элементы внутри тоже этот шрифт принимают. Подскажите плз. решение, кто знает. Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Fess от Июля 26, 2011, 18:28 groupBox->setStyleSheet("QGroupBox {font:16px;}");
Если установите font виджета, то он будет наследоваться всеми дочерними виджетами. Можно всем им вручную задать нужный шрифт. CSS тоже наследуются дочерними виджетами, но описанное выше правило действует только на QGroupBox. Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июля 26, 2011, 19:04 Спасибо большое.
Название: Re: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Августа 02, 2011, 11:13 Подскажите еще плз., как сделать в QListWidget, чтоб высота равнялась (т.е. адаптировалась) высоте всех включенных QListWidgeItem?
|