Вопос по Qt (Button = свернуть окно)
Модератор: Модераторы разделов
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Вопос по Qt
Собственно весь вопрос уже в названии.
Хотелось бы на обыкновенную кнопочку повесить сворачивание приложения. В частности для того, чтобы можно было сразу изполноэкранного режима работы свернуть окошко. Qt 3 версии, 4 пока просьба не предлагать.
Хотелось бы на обыкновенную кнопочку повесить сворачивание приложения. В частности для того, чтобы можно было сразу изполноэкранного режима работы свернуть окошко. Qt 3 версии, 4 пока просьба не предлагать.
В дисгармонии со вселенной.
-
powerfox
- Сообщения: 458
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
Мне лично ничего не мешает, но там я этого не нашёл. А вообще ИМХО: "іноді краще жувати".
В дисгармонии со вселенной.
-
powerfox
- Сообщения: 458
Re: Вопос по Qt
(eduard_pustobaev @ May 26 2006, в 22:19) писал(а):А вообще ИМХО: "іноді краще жувати".
Кроме "жУвать" ничего не понял, пишите, пожалуйста по-русски.
Думаю, что стоит посмотреть
void MainWindow::activateWindow(int param)
(eduard_pustobaev @ May 26 2006, в 22:19) писал(а):"іноді краще жувати".
Иногда лучше жевать
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
Реклама когда-то была такая. В том смысле, что ежели сказать нечего, то и не следует...
В дисгармонии со вселенной.
-
powerfox
- Сообщения: 458
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
Не, причём совсем. Может не разобрался просто, но:
1) QWidget * QApplication::activeWindow () const
Returns the application top-level window that has the keyboard input focus, or 0 if no application window has the focus. Note that there might be an activeWindow() even if there is no focusWidget(), for example if no widget in that window accepts key events.
See also QWidget::setFocus(), QWidget::focus, and focusWidget().
2) QWidget * QWorkspace::activeWindow () const
Returns the active window, or 0 if no window is active.
В дисгармонии со вселенной.
-
powerfox
- Сообщения: 458
Re: Вопос по Qt
(eduard_pustobaev @ May 27 2006, в 20:22) писал(а):Не, причём совсем. Может не разобрался просто, но:
Сравните названия ваших функций, с той, что предложил я:
(powerfox @ May 26 2006, в 22:42) писал(а):void MainWindow::activateWindow(int param)
У меня сейчас нет доступа к родной документации(временно сижу на форточках, а там только MinGW+msys+SDL) + мои познания минимальны, но как я понял, от param зависит, свернуть или развернуть окно. По любому, следует искать в MainWindow, но я, наверное, прав. Виджеты не то.
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
QMainWindow * QToolBar::mainWindow () const
Returns a pointer to the QMainWindow which manages this toolbar.
А QMainWindow такого метода как mainWindow
Returns a pointer to the QMainWindow which manages this toolbar.
А QMainWindow такого метода как mainWindow
В дисгармонии со вселенной.
-
powerfox
- Сообщения: 458
Re: Вопос по Qt
Да не ф-я mainWindow, а activateWindow(int param) ИЗ MainWindow ------------->
(eduard_pustobaev @ May 27 2006, в 20:22) писал(а):void MainWindow::activateWindow(int param)
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Вопос по Qt
eduard_pustobaev
я вот, от чистого сердца, предлагаю Вам вместо четвертой версии проследовать в ИМЧ РАН на курс интенсивной терапии, где Вас научат все-ткаи читать официальную документацию к продуктам, которыми Вы пользуетесь. а если пройдете два курса разом, то может даже гуглить научат.
так вот, пока Вы туда не проследовали, дам, типа, подсказку.
в каталоге /usr есть подкаталог share. ну у Вас его, конечно, может и не быть, но у здоровых людей он скорее всего есть.
в свою очередь в нем обычно бывает (опять-таки у большинства здоровых людей) подкаталог doc. Вы следите за моей мыслью? итак, в каталоге /usr/share/doc лежит эта гребаная официальная документация, которую мы (здоровые люди, ага) иногда читаем ДО того, как начать задрачивать всех окружающих тупыми вопросами.
так вот, там несложно найти каталог, скажем, qt-3.3.3, и прочитать в его содержимом про этот самый гребаный QMainWindow. и найти там описания методов showFullScreen(), showMaximized(), showMinimized() и, наконец, showNormal().
а мы тут, собственно говоря, и не собирались Вам четвертую версию предлагать.... кому нужна эта четвертая версия?Qt 3 версии, 4 пока просьба не предлагать.
я вот, от чистого сердца, предлагаю Вам вместо четвертой версии проследовать в ИМЧ РАН на курс интенсивной терапии, где Вас научат все-ткаи читать официальную документацию к продуктам, которыми Вы пользуетесь. а если пройдете два курса разом, то может даже гуглить научат.
так вот, пока Вы туда не проследовали, дам, типа, подсказку.
в каталоге /usr есть подкаталог share. ну у Вас его, конечно, может и не быть, но у здоровых людей он скорее всего есть.
в свою очередь в нем обычно бывает (опять-таки у большинства здоровых людей) подкаталог doc. Вы следите за моей мыслью? итак, в каталоге /usr/share/doc лежит эта гребаная официальная документация, которую мы (здоровые люди, ага) иногда читаем ДО того, как начать задрачивать всех окружающих тупыми вопросами.
так вот, там несложно найти каталог, скажем, qt-3.3.3, и прочитать в его содержимом про этот самый гребаный QMainWindow. и найти там описания методов showFullScreen(), showMaximized(), showMinimized() и, наконец, showNormal().
слава роботам!
-
powerfox
- Сообщения: 458
Re: Вопос по Qt
elide, круто!
Только ему надо свёртывание.
Только ему надо свёртывание.
(powerfox @ May 27 2006, в 21:32) писал(а):void MainWindow::activateWindow(int param)
-
aLexx programmer
- Сообщения: 985
- Статус: Турук-Макто
- ОС: Gentoo -> Ubuntu
Re: Вопос по Qt
(elide @ May 27 2006, в 22:12) писал(а):итак, в каталоге /usr/share/doc лежит эта гребаная официальная документация
Блин, я не нормальный человек....
У меня документация к qt лежит в /usr/qt/3/doc/html/.
А вообще, есть такая штука - assistant. специально для просмотра документации к qt.
(powerfox @ May 27 2006, в 22:48) писал(а):void MainWindow::activateWindow(int param)
Нет такого...
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Вопос по Qt
а я-то всю жизнь думал, что "свертование" - это "minimized"......Только ему надо свёртывание.
слава роботам!
-
aLexx programmer
- Сообщения: 985
- Статус: Турук-Макто
- ОС: Gentoo -> Ubuntu
Re: Вопос по Qt
(elide @ May 27 2006, в 22:12) писал(а):showFullScreen(), showMaximized(), showMinimized() и, наконец, showNormal().
И этих я тоже не нашёл.
Стоит qt-3.3.6-r1 вместе с доками.
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
Нет это не оно Minimized - это то, что кнопочка на окне с квадратиком, а мне необходимо то, что с чёрточкой.
А по поводу тех функций что вы предложили я прекрасно знаю, причм как раз не без помощи QT Assistant.
P.S. Прежде чем наезжать, хоть бы поинтересовались сутью вопроса.
aLexx programmer писал(а): ↑27.05.2006 23:07(elide @ May 27 2006, в 22:12) писал(а):
showFullScreen(), showMaximized(), showMinimized() и, наконец, showNormal().
И этих я тоже не нашёл.
Стоит qt-3.3.6-r1 вместе с доками.
Это как раз есть QWidget::
aLexx programmer писал(а): ↑27.05.2006 23:03(elide @ May 27 2006, в 22:12) писал(а):
итак, в каталоге /usr/share/doc лежит эта гребаная официальная документация
Блин, я не нормальный человек....![]()
У меня документация к qt лежит в /usr/qt/3/doc/html/.
А вообще, есть такая штука - assistant. специально для просмотра документации к qt.
Вот-вот я тоже ненормальный немного видимо ^_^
Именно.
В дисгармонии со вселенной.
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Вопос по Qt
а мужики-то не знают!!! они до сих пор думают, что то, что с квадратиком - это MAXimized, а то, что с черточкой - MINImized.Minimized - это то, что кнопочка на окне с квадратиком, а мне необходимо то, что с чёрточкой.
слава роботам!
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
Напрасно, ведь то, что с квадратиком - это minimize/maximize, с чёрточкой - свернуть в список задач, а крестик - закрыть.
В дисгармонии со вселенной.
-
powerfox
- Сообщения: 458
Re: Вопос по Qt
Код: Выделить всё
#include<qapplication.h>
#include<qpushbutton.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Roll down",0);
QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
app.setMainWidget(button);
button->show();
button->raise();
button->setActiveWindow();
button->hide();
if(button->isHidden())
button->show();
return app.exec();
}Поиграйтесь с этим + предыдущие мои посты.
А ведь я не работаю с qt3: только на уровне "Hello, qt3!"
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Вопос по Qt
eduard_pustobaev
можно нескромный вопрос?
чем, в Вашем представлении, отличается minimize от "свернуть в список задач" ?
можно нескромный вопрос?
чем, в Вашем представлении, отличается minimize от "свернуть в список задач" ?
слава роботам!
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
powerfox писал(а): ↑28.05.2006 00:37Код: Выделить всё
#include<qapplication.h> #include<qpushbutton.h> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton *button = new QPushButton("Roll down",0); QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit())); app.setMainWidget(button); button->show(); button->raise(); button->setActiveWindow(); button->hide(); if(button->isHidden()) button->show(); return app.exec(); }
Поиграйтесь с этим + предыдущие мои посты.
А ведь я не работаю с qt3: только на уровне "Hello, qt3!"
Поигрался: к сожалению никуда оно не сворачивается. Как и ожидалось окно просто прячется с глаз долой, а после завершает работу. В списке задач оно после нажатия Button'a не появляется.
В дисгармонии со вселенной.
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Вопос по Qt
мне кажется, или слово quit переводится как "завершение работы", а не "свернуть в список задач", а?QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
я только что попробовал. все замечательно работает. если сказать button->showMaximized(); то окно будет развернуто. если button->showMinimized(); оно будет свернуто в панель. если button->showFullScreen(); то окно будет на весь экран и без границ. а вот button->showNormal(); как раз и показывает просто окно. я не знаю, что у вас там за проблемы, но мне кажется что в ИМЧ заглянуть никогда не помешает.....
слава роботам!
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
elide писал(а): ↑28.05.2006 00:56мне кажется, или слово quit переводится как "завершение работы", а не "свернуть в список задач", а?QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
я только что попробовал. все замечательно работает. если сказать button->showMaximized(); то окно будет развернуто. если button->showMinimized(); оно будет свернуто в панель. если button->showFullScreen(); то окно будет на весь экран и без границ. а вот button->showNormal(); как раз и показывает просто окно. я не знаю, что у вас там за проблемы, но мне кажется что в ИМЧ заглянуть никогда не помешает.....
#include<qapplication.h>
#include<qpushbutton.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Roll down",0);
QObject::connect(button,SIGNAL(clicked()),button,SLOT(showMinimized()));
app.setMainWidget(button);
button->show();
return app.exec();
}
Кстати да, работает как хотелось, что-то я путал было дело. Насчёт ИМЧ у вас всё в порядке с психикой? А то обычно в эту инстанциб отправляют всех подряд только шизики. Понимаю ещё бы отправили на курсы по Qt.
В дисгармонии со вселенной.
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Вопос по Qt
а тут курсы по Qt не помогут.....
Вам два человека на протяжении 15 постов рассказывали то, что написано чорными буквами на белом фоне документации.... а Вы нихрена даже не пытаясь понять, рассказывали, что они неправы, что Вам нужно совсем другое, что minimize - это квадратик, а не черточка, что это все не работает, что Вас никто не слушает и не интересуется сутью вопроса.....
тут курсы по Qt бессильны. только ИМЧ. (кстати, я отправляю туда далеко не всех подряд, а исключительно особо неординарных личностей (: )
Вам два человека на протяжении 15 постов рассказывали то, что написано чорными буквами на белом фоне документации.... а Вы нихрена даже не пытаясь понять, рассказывали, что они неправы, что Вам нужно совсем другое, что minimize - это квадратик, а не черточка, что это все не работает, что Вас никто не слушает и не интересуется сутью вопроса.....
тут курсы по Qt бессильны. только ИМЧ. (кстати, я отправляю туда далеко не всех подряд, а исключительно особо неординарных личностей (: )
слава роботам!
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
elide писал(а): ↑28.05.2006 01:22а тут курсы по Qt не помогут.....
Вам два человека на протяжении 15 постов рассказывали то, что написано чорными буквами на белом фоне документации.... а Вы нихрена даже не пытаясь понять, рассказывали, что они неправы, что Вам нужно совсем другое, что minimize - это квадратик, а не черточка, что это все не работает, что Вас никто не слушает и не интересуется сутью вопроса.....
тут курсы по Qt бессильны. только ИМЧ. (кстати, я отправляю туда далеко не всех подряд, а исключительно особо неординарных личностей (: )
Ладно ступил, есть такое дело, а насчёт QWidget::showMinimized() я и сам нашёл в документации, но только вот вот в проге написал showMinimize(). Ошибки не было, так как класс свой, хоть и слота там такого не было. В итоге просто ничего не происходило при clicked.
А 15 постов мне человек рассказывал "void MainWindow::activateWindow(int param)".
P.S. И несмотря на всю гниль вашу всё ж спасибо, так как результат всё-таки достигнут, вопрос решён.
В дисгармонии со вселенной.
-
powerfox
- Сообщения: 458
Re: Вопос по Qt
(eduard_pustobaev @ May 28 2006, в 01:31) писал(а):void MainWindow::activateWindow(int param)
Вы бы посмотрели описание ф-ии, прежде чем так говорить. А судя по тому, что вы смотрели, то у вас проблемы либо со чтеним, либо с восприятием.
-
powerfox
- Сообщения: 458
Re: Вопос по Qt
(eduard_pustobaev @ May 28 2006, в 01:31) писал(а):P.S. И несмотря на всю гниль вашу всё ж спасибо, так как результат всё-таки достигнут, вопрос решён.
Большая гниль - ваша аватарина.
Слава роботам!
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
-
eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
Re: Вопос по Qt
В вашем примере( код, который вы запостили несколькими постами выше) использовался метод void QWidget::setActiveWindow (), который вобщем-то в даном случае не при чём. И не стоит обижаться, ведь лично вам я ничего плохого не сказал.
Реально помогло мне только вот это:
я только что попробовал. все замечательно работает. если сказать button->showMaximized(); то окно будет развернуто. если button->showMinimized(); оно будет свернуто в панель. если button->showFullScreen(); то окно будет на весь экран и без границ. а вот button->showNormal(); как раз и показывает просто окно.
После чего я собственно уже на простеньком примере всё перепроверил и нашёл у себя обычную синтаксическую ошибку( showMinimized()/showMinimize() ), из-за которой кнопка просто ничего не делала.
Теперь собственно на счёт того, что я немного ступил:
1) Я не программист, а студент второго курса, причём учусь не совсем прграммированию.
2) По курсу технологии программирования мне пока больше чем Borland C++ 3 для DOS не преподавали.
3) С Qt знаком собственно на у ровне "Hello World!" + ещё парочка виджетов.
Теперь о том, зачем я тут всем немного попарил мозги:
Есть такая программа для чтения электронных книг, как QBook. Она насколько я понимаю заброшена разработчиком и не развивается. Мне она всем нравится кроме одной мелочи: так как я ею пользуюсь только в полноэкранном режиме, то хотелось бы, чтобы из него можно было сразу свернуть/закрыть программу одним кликом мыши( пример ICE Book Reader ). Понимаю, что это не очень актуально, но мне так привычно и ничего с собой поделать не могу.
Вот результат:
До:
После:
В дисгармонии со вселенной.
-
powerfox
- Сообщения: 458
Re: Вопос по Qt
(eduard_pustobaev @ May 28 2006, в 16:22) писал(а):В вашем примере( код, который вы запостили несколькими постами выше) использовался метод void QWidget::setActiveWindow (), который вобщем-то в даном случае не при чём. И не стоит обижаться, ведь лично вам я ничего плохого не сказал.
Да я и не обижаюсь, моё знакомство с qt тоже на уровне "Hello world".
(eduard_pustobaev @ May 28 2006, в 16:22) писал(а):1) Я не программист, а студент второго курса, причём учусь не совсем прграммированию.
Я же здаю школьные экзамены...
(eduard_pustobaev @ May 28 2006, в 16:22) писал(а):Теперь о том, зачем я тут всем немного попарил мозги:
Есть такая программа для чтения электронных книг, как QBook. Она насколько я понимаю заброшена разработчиком и не развивается. Мне она всем нравится кроме одной мелочи: так как я ею пользуюсь только в полноэкранном режиме, то хотелось бы, чтобы из него можно было сразу свернуть/закрыть программу одним кликом мыши( пример ICE Book Reader ). Понимаю, что это не очень актуально, но мне так привычно и ничего с собой поделать не могу.
Похвально.