С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521

Диалог в Qt Designer

12.09.2020, 14:30. Показов 4066. Ответов 24

Студворк — интернет-сервис помощи студентам
Добрый день! Помогите, пожалуйста! Создала в Qt Designer диалог. Назвала файл Ui_My_dialog_ui.ui. В коде создала для него класс My_dialog. В классе MyWidget в функции func_dialog создаю объект класса My_dialog.

1)​Как исправить, что после закрытия окна диалога, всё приложение закрывается с ошибкой (Process finished with exit code -1073741819 (0xC0000005))?

2)​Как сделать, чтобы когда нажимаешь на кнопку в диалоге, вызывалась функция func_with_par и ей передавалось значение self._my_value?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class MyWidget(..):
 
def func_with_par(self, par):
    …
 
def func_dialog(self):
    dialog_wgt = My_dialog()
    self._my_value = dialog_wgt.ui…     dialog_wgt.ui.myButton.clicked.connect(self.func_with_par)
    dialog_wgt.exec()
 
class My_dialog():
    def init(self):
        super().__init__()
        self._setup_ui()
 
    def _setup_ui(self):
        self.ui = Ui_My_dialog()
        self.ui.setupUi(self)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2020, 14:30
Ответы с готовыми решениями:

PyQt5: в Qt Designer Диалог открытия и сохранения файлов?
Добрый день! Есть ли в PyQt5 в Qt Designer Диалог открытия и сохранения файлов? Или нужно отдельно его добавлять?

Qt Designer и диалог правки стилей
Можно ли как нибудь сделать сделать диалог таблицы стилей сделать не модальным?

Digital Designer / Interface Designer for top company in Munich / Germany. Non EU applicants very welcome, we sponsor Visa!
Digital Designer / Interface Designer (Web, Mobile & Tablet) Digital Designer needed to join popular digital agency based in Munich -...

24
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
15.09.2020, 08:14
Студворк — интернет-сервис помощи студентам
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import sys
from PyQt5 import QtWidgets
 
 
CONFIGURATION = {
    "VOLUME": 12,
}
 
class ChangeVolumeDialog(QtWidgets.QDialog):
    def __init__(self, parent: QtWidgets.QWidget = None):
        QtWidgets.QDialog.__init__(self, parent)
        self.setWindowTitle("Введите")
 
        self.volume_editor = QtWidgets.QSpinBox(self)
        self.volume_editor.setRange(0, 100)
        self.volume_editor.setValue(CONFIGURATION["VOLUME"])
 
        self.volume_change = QtWidgets.QPushButton("Применить", self)
        self.volume_change.clicked.connect(self.change_volume_event)
 
        layout = QtWidgets.QFormLayout(self)
        layout.addRow(self.tr("Значение громкости"), self.volume_editor)
        layout.addRow(self.volume_change)
 
        self.show()
 
    def change_volume_event(self):
        CONFIGURATION["VOLUME"] = self.volume_editor.value()
 
 
class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent: QtWidgets.QWidget = None):
        QtWidgets.QMainWindow.__init__(self, parent)
 
        screen = QtWidgets.QDesktopWidget().availableGeometry()
        self.setGeometry(int(screen.width()/4), int(screen.height()/4),
                         int(screen.width()/2), int(screen.height()/2))
 
        self.setWindowTitle("The Dialog Probe v0.002")
        
        file_menu = self.menuBar().addMenu("Файл")
        file_menu.addAction("Громкость", self.open_change_volume_dialog, shortcut="Ctrl+P")
        file_menu.addAction("Выход", self.close, shortcut="Ctrl+Q")
 
    def open_change_volume_dialog(self):
        ChangeVolumeDialog(self).show()
 
    
if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    mainWin = MainWindow()
    mainWin.show()
    sys.exit(app.exec_())
1
290 / 205 / 68
Регистрация: 18.09.2019
Сообщений: 407
Записей в блоге: 58
15.09.2020, 11:37
DmFat, спасибо!

Я вот как-то всё избегал пользовать show() с диалогами, но эффект-то классный (см. картинку).
У меня даже есть где это применить
Миниатюры
Диалог в Qt Designer  
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
15.09.2020, 13:01
iamvic, можно задать QtCore.Qt.ApplicationModal, чтоб избежать такого эффекта, либо скрывать/показывать существующее окно.
0
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
16.09.2020, 10:10  [ТС]
Спасибо

Не по теме:

Почему-то помогло наследоваться не от того диалога, от которого я наследовалась, а от его наследника. И вызывать не exec(), а exec_() (такая функция была у диалога, от которого отнаследовалась).

0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
16.09.2020, 13:46
Цитата Сообщение от Simply me Посмотреть сообщение
Почему-то помогло наследоваться не от того диалога, от которого я наследовалась, а от его наследника. И вызывать не exec(), а exec_() (такая функция была у диалога, от которого отнаследовалась).

Не по теме:

чему бы грабли не учили, а сердце верит в чудеса

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.09.2020, 13:46
Помогаю со студенческими работами здесь

Как создать диалог выбора шрифта и диалог выбора цвета
как создать диалог выбора шрифта и диалог выбора цвета в wpf

Qt designer
Добрый день.Работаю в Qtdesigner и хочу менять изображения,используя horizontalScrollBar.Подскажите какой метод используется в этом виджете...

Designer
Здравствуйте. В какой версии pyqt есть qt designer или pyqt-tools ? Collecting pyqt5-tools Could not find a version that satisfies...

Qt Designer
У меня вот такой вопрос возник. Я смотрел учебники по Qt и там появился Qt Designer. Так вот сам вопрос ,а есть ли смысл в написании кода...

QT Designer
Здравствуйте всем!!!! Подскажите пожалуйста как можно в Qt строку, введенную пользователем, перевести в символьный массив для...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru