Питон как сделать всплывающее окно pyqt
Перейти к содержимому

Питон как сделать всплывающее окно pyqt

  • автор:

Как создать модальное окно в PyQt5?

Как мне создать второе окно, всплывающее по нажатию кнопки, установленной в главном окне? После нажатия на кнопку, окно Modal появляется и тут же закрывается.
Если убрать комментарии, приложение перестанет работать вообще. Что мне необходимо добавить в свой код, что окно не закрывалось и являлось модальным? Пример, как пытался сделать я:

from PyQt5 import QtWidgets from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QWidget import sys class Main(QtWidgets.QWidget): def __init__(self, parent=None): super().__init__(parent) self.initUI() def initUI(self): self.resize(500, 500) self.widget = QWidget() self.testBtn = QtWidgets.QPushButton(self.widget) self.testBtn.setText("Test") self.testBtn.clicked.connect(self.open) self.vbox = QtWidgets.QVBoxLayout() self.vbox.addWidget(self.widget) self.setLayout(self.vbox) def open(self): app2 = Modal() app2.show() class Modal(QtWidgets.QWidget): def __init__(self, parent=None): super().__init__(parent) # self.setWindowModality(Qt.WindowModal) # self.setModal(True) self.resize(200, 200) if __name__ == "__main__": app = QtWidgets.QApplication([]) application = Main() application.show() sys.exit(app.exec_()) 

Отслеживать

75.2k 120 120 золотых знаков 38 38 серебряных знаков 57 57 бронзовых знаков

Как сделать всплывающее при наведение на Label окно в PyQT?

Привет обитателям! Спасибо, что обратили внимание на мой вопрос, заключащийся в следующем:
Хочу добавить фичу в проект, которая совсем не нужна для его корректного функционирования
При наведение на Label рядом с курсором должно появляться маленькое окошко с информацией, исчезающее в случае увода курсора с лейбла. Перехватить события мыши смогу, вопрос какой виджет открывать и как открывать у курсора, чтоб он не создавал новое окно ( в привычном смысле )

  • Вопрос задан более трёх лет назад
  • 535 просмотров

1 комментарий

Простой 1 комментарий

Диалоговые окна в PyQt5

Python 3 логотип

Диалоговые окна (диалоги) являются неотъемлемой частью большинства современных графических приложений. Диалог в обычной жизни — это беседа между двумя и более людьми. В компьютерном приложении, диалог – это окно, которое используется, чтобы «беседовать» с приложением. Диалоги используются для ввода и изменения данных, изменения настроек приложения, и так далее.

QInputDialog

QInputDialog — простой удобный диалог для получения единственного значения от пользователя. Введённое значение может быть строкой, числом или пунктом из списка.

Пример имеет кнопку и виджет редактирования строки. Кнопка показывает диалог ввода. Вводимый текст может быть отображён в виджете редактирования строки.
Эта строка показывает диалог ввода. Первая строка – это заголовок диалога, вторая – сообщение внутри диалога. Диалог возвращает введённый текст и логическое значение. Если мы нажимаем кнопку «ОК», то логическое значение является правдой.
Текст, который мы получили из диалога, устанавливается в виджет редактирования строки.

QColorDialog

QColorDialog — виджет диалога для выбора цветовых значений.

 " "Пример приложения показывает кнопку и QFrame. Фон виджета устанавливается чёрным. Используя QColorDialog, мы можем менять фон.
Это первоначальный цвет фона QtGui.QFrame.
Это строка высветит QColorDialog.
 "Мы проверяем, является ли цвет валидным. Если мы нажимаем кнопку «Cancel», возвращается невалидный цвет. Если цвет валиден, мы меняем цвет фона, используя таблицы стилей (CSS).

QFontDialog

QFontDialog – это виджет диалога для выбора шрифта.

В нашем примере, мы имеем кнопку и метку. С помощью QFontDialog, мы меняем шрифт метки.

QFileDialog

QFileDialog – это диалог, который позволяет пользователям выбирать файлы или папки. Файлы могут быть выбраны и для открытия, и для сохранения.

Пример показывает строку меню, виджет редактирования текста и строку состояния. Пункт меню показывает QtGui.QFileDialog, который используется для выбора файла. Содержимое файла загружается в виджет редактирования текста.
Мы показываем QFileDialog. Первая строка в методе getOpenFileName() – это заголовок. Вторая строка указывает на показываемую директорию. По умолчанию, файловый фильтр установлен в положение «Все файлы (*)».
Выбранный файл читается и содержимое файла записывается в виджет редактирования текста.

В этой части руководства PyQt5, мы работали с диалогами.

Для вставки кода на Python в комментарий заключайте его в теги

  • Модуль csv - чтение и запись CSV файлов
  • Создаём сайт на Django, используя хорошие практики. Часть 1: создаём проект
  • Онлайн-обучение Python: сравнение популярных программ
  • Книги о Python
  • GUI (графический интерфейс пользователя)
  • Курсы Python
  • Модули
  • Новости мира Python
  • NumPy
  • Обработка данных
  • Основы программирования
  • Примеры программ
  • Типы данных в Python
  • Видео
  • Python для Web
  • Работа для Python-программистов
  • Сделай свой вклад в развитие сайта!
  • Самоучитель Python
  • Карта сайта
  • Отзывы на книги по Python
  • Реклама на сайте

Урок #4 – Всплывающие окна (QMessageBox)

Урок #4 – Всплывающие окна (QMessageBox)

Всплывающие окна невероятно полезны при разработке настольных приложений. В уроке мы научимся создавать и кастомизировать всплывающие окна на основе класса QMessageBox.

Видеоурок

Для создания всплывающих окон в PyQt 5 используется класс QMessageBox. Вам требуется создать объект на основе класса, добавить к нему характеристики и далее отобразить окно.

Пример кода для реализации окна представлен ниже:

msg = QMessageBox() msg.setWindowTitle("Название окна") msg.setText("Описание") msg.setIcon(QMessageBox.Warning) msg.exec_()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *