QToolBar — панель инструментов
QToolBar — панель инструментов Основная цель панели инструментов (Tool Bar) — предоставить пользователю быстрый доступ к командам программы одним нажатием кнопки мыши. Это делает панель инструментов более удобной по сравнению с меню, в котором нужно сделать, по меньшей мере, два нажатия. Еще одно достоинство состоит в том, что панель инструментов всегда видима, и не нужно […]
Создание отрывных меню в Qt
Создание отрывных меню в Qt Qt предоставляет возможность реализации отрывных меню (tear-off menu). Нажатие мышью на прерывистую линию приводит к тому, что всплывающее меню отделяется от меню верхнего уровня, превращаясь в отдельное окно, которое свободно перемещается. Такое меню очень удобно, например, для настройки конфигураций программы. #include <QtGui> int main(int argc, char** argv) { QApplication app(argc, […]
QErrorMessage — окна сообщений об ошибке
Окна сообщений об ошибке QErrorMessage Окно сообщения об ошибке реализуется классом QErrorMessage, а не классом QMessageBox, как все остальные окна сообщений. Оно представляет собой немодальное диалоговое окно. Для отображения окна сообщения об ошибке создается объект этого класса и вызывается метод message(), в который передается текст сообщения. Например: (new QErrorMessage(this))->showMessage(«Write Error»); Окно содержит флаг, который может […]
QMessageBox::about — окно сообщения About в Qt
Окно сообщения About в Qt Такое окно отображается при вызове статического метода about() класса QMessageBox для предоставления пользователю общей информации о программе: версии, контактной информации, информации об авторских правах и т.д.. В этот метод передаются три параметра. Первый параметр — это указатель на виджет предка, второй — заголовок окна, третий представляет собой само сообщение. QMessageBox::about(0, […]
Предшествующее окно QSplashScreen
Предшествующее окно QSplashScreen При запуске многие приложения показывают, так называемое, предшествующее окно (Splash Screen). Это окно отображается на время, необходимое для инициализации приложения, и информирует о ходе запуска приложения. Зачастую такое окно используют для маскировки длительного процесса старта программы. В библиотеке Qt это окно реализовано в классе QSpiashScreen. Объект этого класса создается в функции main() […]
QMessageBox::warning — Окно предупреждающего сообщения
QMessageBox — Окно предупреждающего сообщения Для отображения окна предупреждающего сообщения вызывается статический метод warning() класса QMessageBox. Вывод окна предупреждающего сообщения может выглядеть так: int n = QMessageBox::warning(0, «Warning», «The text in the file has changed,» «\n Do you want to save the changes?», «Yes», «No», QString(), 0, 1); if(!n) { // Saving the changes! } […]
QMessageBox::critical-окно критического сообщения
Использование окна критического сообщения Окно критического сообщения следует показывать только в тех случаях, когда произошло что-то очень серьезное. Для его отображения нужно вызвать статический метод critical(), передав ему в первом параметре указатель на виджет предка, во втором — заголовок, а в третьем — само сообщение. В четвертом, пятом и шестом параметрах передаются целочисленные идентификаторы кнопок: […]
QMessageBox::information — Окно информационного сообщения
QMessageBox — Окно информационного сообщения Это окно используется для отображения сообщений после успешного исполнения операции. Вызов статического метода information() отображает на экране окно информационного сообщения. QMessageBox::information(0, «Information», «Operation Complete»); Как только окно будет закрыто, метод вернет значение нажатой кнопки.
Окна сообщений QMessageBox в Qt
Окна сообщений QMessageBox в Qt Не стоит создавать собственные диалоговые окна для вывода сообщений на экран, ведь для этого можно воспользоваться уже готовыми окнами, предоставляемыми классом QMessageBox. Окно сообщения — это самый простой элемент пользовательского интерфейса, который отображает текстовое сообщение и ожидает реакции со стороны пользователя. Его основное назначение состоит в информировании о совершении определенного […]
Обмен сообщениями между потоками
Обмен сообщениями между потоками Один из важнейших вопросов при многопоточном программировании — это обмен сообщениями. Действительно, если вы, например, в одном потоке создаете растровое изображение и хотели бы переслать его объекту другого потока, то каким образом вы можете это сделать? Каждый поток может иметь свой собственный цикл событий. Благодаря этому можно осуществлять связь между объектами. […]