Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
13 / 10 / 5
Регистрация: 11.10.2019
Сообщений: 290

Окно поверх другого окна

05.06.2020, 10:07. Показов 4723. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе утро. Вопрос такой. Есть программа в которой по кнопке нужно выбрать файл. Выбрали файл в диалоговом окне виджета QtWidgets.QFileDialog.getOpenFileName. Пока это окно не исчезло,я хочу показать диалоговое окно с текстом "идет подготовка". Заголовок окна виден,а само окно почему то прозрачное.Как избавиться от прозрачности? Пытался поверх окна разместить,но ничего не выходит.
Использовал
Python
1
2
dialog.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowCloseButtonHint|QtCore.Qt.WindowStaysOnTopHint)
dialog.activateWindow()
Миниатюры
Окно поверх другого окна  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.06.2020, 10:07
Ответы с готовыми решениями:

Закрыть дочернее окно из функции другого дочернего окна
Всем привет, я ещё не совсем хорошо ориентируюсь в ооп, и поэтому у меня достаточно банальный вопрос: Как закрыть дочернее окно из функции...

Вызов нового окна из другого окна
Хочу реализовать следующее. При нажатии на кнопку "Добавить профиль в БД" вызыв второго окна. Окно вызывается, только внутри первого...

В окно вывести поверх картинки круг
Приветствую.Необходимо в окно вывести поверх картинки круг с радиусом Gppp(Это забирается из entry значение).Круг выводится,а вот картинка...

6
13 / 10 / 5
Регистрация: 11.10.2019
Сообщений: 290
05.06.2020, 12:52  [ТС]
Скорее всего эта проблема не решается,так как они наверно сливаются с окном выбора файла. Надо чтобы сначала именно это окно выбора файла закрылось.Ладно оставлю тогда прозрачным,но заголовок виден и этого наверно пока достаточно. Просто хотелось бы нормальное окно с текстом. Это чтобы знать что процесс идет,а то если без доп.окна, выбрали файл и у юзера есть ощущение что прога зависла и пытается снова выбрать файл или еще что-то сделать.
0
 Аватар для kapbepucm
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,656
05.06.2020, 13:20
то есть окно "идет подготовка" открывается после нажатия "открыть"?
0
13 / 10 / 5
Регистрация: 11.10.2019
Сообщений: 290
05.06.2020, 13:25  [ТС]
kapbepucm, Да после.
0
 Аватар для kapbepucm
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,656
05.06.2020, 13:27
если да, то проблему решить можно переносом кода, который выполняется между действием открытия диалога "идёт подготовка" и его закрытием в отдельный поток.

Добавлено через 1 минуту
вы основной поток загружаете производительным кодом и он не может заниматся перерисовкой виджетов при этом
0
13 / 10 / 5
Регистрация: 11.10.2019
Сообщений: 290
05.06.2020, 13:45  [ТС]
kapbepucm, Ну допустим вот часть кода.Вырезал лишнее.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#ЗАГРУЗКА-F10
def btn_F10( mw0 ):
    #диалоговое окно выбора файла
    mw0.dialog_file = QtWidgets.QFileDialog.getOpenFileName(
                        caption='Выберите файл lp... .xls',filter='*.xls')            
 
    zn = mw0.dialog_file[0]
    
    if not zn: pass         #Если значения нет то ничего не делаем
    elif 1:
        on_load( mw0, mw0.dialog_file )
        
    elif 0: pass
 
#ФУНКЦИЯ ЗАГРУЗКИ
def on_load( mw0, korteg ):
    #На входе кортеж вида ('c/:papka/text.xls','*.xls')
    какой-то код
    .....
    prog_dialog = QtWidgets.QDialog()
    prog_dialog.setWindowTitle('Идет подготовка...')
    prog_dialog.resize(200,20)
    prog_dialog.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.WindowStaysOnTopHint);
 
##      label = QtWidgets.QLabel('proverka',prog_dialog)
##      label.move(20,20)
##      label.setAlignment(QtCore.Qt.AlignCenter)
##      label.show()
 
    prog_dialog.show()
    #prog_dialog.setWindowState(QtCore.Qt.WindowActive)
    prog_dialog.activateWindow()
 
    какой-то код
    ....
Добавлено через 14 минут
kapbepucm, Долго думает над открытием файла. Да наверно надо попробовать параллельно сделать. Правда потоки еще не применял на практике.

Python
1
2
3
4
5
6
7
8
9
10
11
12
    #Тупое окно.чтобы не подумали что зависло
    prog_dialog = QtWidgets.QDialog()
    prog_dialog.setWindowTitle('Идет подготовка...')
    prog_dialog.resize(200,20)
    prog_dialog.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.WindowStaysOnTopHint);
    prog_dialog.show()
    #prog_dialog.setWindowState(QtCore.Qt.WindowActive)
    prog_dialog.activateWindow()
 
    #Открываем файл
    rb = xlrd.open_workbook(put_file,formatting_info=True)
    какой-то код
0
13 / 10 / 5
Регистрация: 11.10.2019
Сообщений: 290
11.06.2020, 08:28  [ТС]
Вопрос можно закрывать. Решил проблему с потоками. Правда вместо этих 4 строк пришлось еще кучу функций написать.Обидно конечно. Наверно придется в большинстве программ использовать потоки. Не удобно просто,просто когда идет какой то цикл,то просто тупо вывести окно с текстом типа "ждите" не получится и этот цикл надо в поток впихнуть,чтобы одновременно шел цикл и показало информационное окошко.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.06.2020, 08:28
Помогаю со студенческими работами здесь

Как вывести окно поверх других?
Задача выводить окно поверх других, причем так, чтобы оно было всегда поверх других окон, но была возможность взаимодействия с окнами...

Окно поверх командной строки
Хотелось чтобы открывалось приложение и там была командная строка где выполняется код

Поместить окно поверх другого окна
Здравствуйте, интересует один вопрос Необходимо поместить мою Форму приложения по верх текущего Главного окна но не использовать как по...

Создать окно поверх главного окна, чтобы главное окно было доступно
здравствуйте. подскажите пожалуйста как сделать окно поверх главного окна, но чтобы главное окно было доступно, как в word окно...

Окно поверх окна
Добрый день\вечер\утро (нужное подчеркнуть) Есть у меня костыли программа: Проблема следующая, программа долго загружается,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru