Название: Ламерские вопросы по созданию пользовотельского интерфейса Отправлено: Мария от Июль 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?
|