Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82

PyCaharm из ui - py не вижу окна

18.10.2021, 15:36. Показов 1770. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток, из main.py запускаю ui все норм, окошко есть. Переформатирую ui в py, все тоже норм но окна нет, так понимаю что файл запускается и даже выполняется но не в графическом виде или просто сразу закрывается. Да я на Ubuntu, IDE PyCaharm.
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
 -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'ferrite.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.
 
from PyQt5 import QtCore, QtGui, QtWidgets
 
 
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(725, 520)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(20, 90, 231, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(20, 130, 231, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(20, 170, 231, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(20, 210, 231, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(160, 30, 471, 41))
        font = QtGui.QFont()
        font.setPointSize(16)
        font.setBold(True)
        font.setItalic(True)
        font.setWeight(75)
        self.label_5.setFont(font)
        self.label_5.setObjectName("label_5")
        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(290, 90, 131, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.textEdit.setFont(font)
        self.textEdit.setObjectName("textEdit")
        self.textEdit_2 = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit_2.setGeometry(QtCore.QRect(290, 130, 131, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.textEdit_2.setFont(font)
        self.textEdit_2.setObjectName("textEdit_2")
        self.textEdit_3 = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit_3.setGeometry(QtCore.QRect(290, 170, 131, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.textEdit_3.setFont(font)
        self.textEdit_3.setObjectName("textEdit_3")
        self.textEdit_4 = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit_4.setGeometry(QtCore.QRect(290, 210, 131, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.textEdit_4.setFont(font)
        self.textEdit_4.setObjectName("textEdit_4")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(140, 270, 131, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.pushButton.setFont(font)
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(320, 270, 131, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.pushButton_2.setFont(font)
        self.pushButton_2.setObjectName("pushButton_2")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(20, 330, 301, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.label_6.setFont(font)
        self.label_6.setObjectName("label_6")
        self.label_7 = QtWidgets.QLabel(self.centralwidget)
        self.label_7.setGeometry(QtCore.QRect(20, 380, 301, 41))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.label_A1 = QtWidgets.QLabel(self.centralwidget)
        self.label_A1.setGeometry(QtCore.QRect(320, 340, 111, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.label_A1.setFont(font)
        self.label_A1.setText("")
        self.label_A1.setObjectName("label_A1")
        self.label_A2 = QtWidgets.QLabel(self.centralwidget)
        self.label_A2.setGeometry(QtCore.QRect(320, 380, 111, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        font.setItalic(True)
        self.label_A2.setFont(font)
        self.label_A2.setText("")
        self.label_A2.setObjectName("label_A2")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 725, 22))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
 
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
 
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "ferrite ring"))
        self.label.setText(_translate("MainWindow", "Число витков колца"))
        self.label_2.setText(_translate("MainWindow", "Наружний диаметр D1"))
        self.label_3.setText(_translate("MainWindow", "Внутренний  диаметр D2"))
        self.label_4.setText(_translate("MainWindow", "Индуктивность mH"))
        self.label_5.setText(_translate("MainWindow", "Рассчет магнитной проницаемости кольца"))
        self.pushButton.setText(_translate("MainWindow", "Рассчитать"))
        self.pushButton_2.setText(_translate("MainWindow", "Очистить"))
        self.label_6.setText(_translate("MainWindow", "Магнитная проницаемость My"))
        self.label_7.setText(_translate("MainWindow", "Эффект. магнитный поток AL"))
 
 
if __name__ == "main":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.10.2021, 15:36
Ответы с готовыми решениями:

Не вижу окна с кодом (нет окна редактирования): найти причины странного поведения программы
Создаю проект, а кроме синего экрана ничего больше нет, не знаю, что делать. Прочла здесь же про образователь решений(типа должен быть...

Установил компонент, вижу интерфейс, не вижу самого компонента
Rad Studio XE5. Зарегистрировал dll Собрал tlb Импортировал компонент из длл Размещаю импортированный компонент на форму Вижу...

на windows 7 не вижу интернета но вижу сеть
Здраствуйте начну пожалуй по порядку. На протяжении долгох лет пользовался ХР, захотелось чего то нового и решил себе поставить win 7. ...

18
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.10.2021, 16:19
Python
1
2
3
4
5
6
app = QtWidgets.QApplication(sys.argv)
MainWindow = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec())
0
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82
18.10.2021, 17:32  [ТС]
Python
1
2
3
4
5
6
7
8
if __name__ == "main":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec())
Не прокатило, нужно менять MainWindow = QtWidgets.QMainWindow() на MainWindow = QMainWindow()

Вот что вывел дебагер

Code
1
2
3
4
/PycharmProjects/ferrite ring/venv/bin/python" /app/pycharm/plugins/python-ce/helpers/pydev/pydevd.py --multiproc --qt-support=auto --client 127.0.0.1 --port 38879 --file "/PycharmProjects/ferrite ring/ferrite.py"
Connected to pydev debugger (build 212.5284.44)
 
Process finished with exit code 0
Добавлено через 16 минут
Если убрать if __name__ == "main": то он ругаться на class Ui_MainWindow(object): хотя я новичок в pythoe

Добавлено через 6 минут
Хороший PyCaharm подсказал, но пришлось додумать решение нашлось такое
Python
1
2
3
4
5
6
7
8
9
10
if __name__ == "main":
    pass
else:
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec())
Почему он ругался без If не знаю, если кто прокомментирует буду только рад!
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.10.2021, 18:30
Цитата Сообщение от cilin Посмотреть сообщение
Почему
Намек
Python
1
2
3
4
if __name__=='main':
    print('main')
if __name__=='__main__':
    print('__main__')
0
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82
18.10.2021, 20:35  [ТС]
Да я не про это, получается что python и PyCaharm видят все файлы и как то связывают их? Чего он вдруг начал ругаться когда я убрал конструкцию if __name__ == "main": совсем или как это еще объяснить?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.10.2021, 21:04
Цитата Сообщение от cilin Посмотреть сообщение
как это еще объяснить?
Тебе же написали:__name__=='__main__'
По-другому - неверно.

Открой документацию и прочитай зачем нужна эта конструкция.

Добавлено через 2 минуты
Цитата Сообщение от cilin Посмотреть сообщение
пришлось додумать решение нашлось такое
Вот так и бывает, если не читать доку. Выдумываются всякие бессмысленные костыли.
0
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82
18.10.2021, 21:05  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
Открой документацию и прочитай зачем нужна эта конструкция.
Мне еще рано об этом думать, просто принимаю все как есть, но возможно кому то не только мне это будет интересно!
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.10.2021, 21:43
Цитата Сообщение от cilin Посмотреть сообщение
Мне еще рано об этом думать
А как ты смог написать GUI не прочитав документацию по PyQT или Qt?

И подумай о другом: в функции setupUi ты 15 раз делаешь одно и тоже.
Если сделать это один раз - код будет короче в 15 раз.
Знаешь один из главных принципов разработки? DRY (Don’t repeat yourself ) - не повторяйся.
0
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82
18.10.2021, 22:02  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
А как ты смог написать GUI не прочитав документацию по PyQT или Qt?
Видео смотрю на ютубе. Я знаком с такими языками как java, php. Да, сделать код покороче это хорошая идея, попробую! Вот только с синтаксисам языка полностью разберусь и сделаю.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.10.2021, 22:03
Цитата Сообщение от cilin Посмотреть сообщение
Видео смотрю на ютубе.
А, ну тогда все понятно
0
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82
18.10.2021, 22:54  [ТС]
На всяк случай что бы не коряво совсем было
Python
1
2
3
4
5
6
7
8
if __name__ != "main":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec())
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
18.10.2021, 23:16
Цитата Сообщение от cilin Посмотреть сообщение
if __name__ != "main":
Это неправильно. Более того - никому в голову не приходило сделать именно так вместо правильного варианта.

Добавлено через 1 минуту
Цитата Сообщение от cilin Посмотреть сообщение
Я знаком с такими языками как java, php.
Тогда почему ты не использовал эти знания здесь?
0
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82
18.10.2021, 23:47  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
Тогда почему ты не использовал эти знания здесь?
Блин я вот только третий день разбираюсь с python до того времени не было, язык совершенно не похож и к нему нужно привыкнуть. Хотя, на мой взгляд, он проще чем С++ или Java, просто нужно время! Поражает его функционал, всем советую изучить!

Добавлено через 15 минут
Работает и так
Python
1
if "main" != __name__:
С точки зрения логики, значение имени файла не тождественно (не равно не уместный здесь термин) значению "main". Я привык к конструкции !== в python !=. Здесь наверное уместен термин file_name, нам по сути нужно из потока вызвать имя файла без расширения py

Добавлено через 5 минут
Ну да а на конструкцию if file_name != "main": он естественно ругается.
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
18.10.2021, 23:57
cilin, почитай Лутца, а потом вернись в этот топик и устыдись той ахинее которую ты в настоящий момент несешь. Ну если не понимаешь, что это за конструкция - не используй ее. И тем более не пытайся ее как-то обосновать. Это конструкция чисто питоновская, знания других языков тебе тут никоим образом не советники.
0
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82
19.10.2021, 00:01  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
cilin, почитай Лутца, а потом вернись в этот топик и устыдись той ахинее которую ты в настоящий момент несешь.
Да не вопрос потом почитаю!
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
19.10.2021, 00:41
Цитата Сообщение от cilin Посмотреть сообщение
Работает и так
И в третий раз придется повторить: существует только единственная версия этой идиоматической конструкции (которая в Python является своего рода точкой входа в приложение и разграничивает код и вызов кода).
Python
1
if __name__ == "__main__":
Все другие - не имеют смысла. Разумеется, мы может использовать переменную __name__ и для других целей,
но именно эта конструкция в данном конкретном месте (а не абы где) - идиома языка.

... условие if __name__ == '__main__' проверяет, был ли файл запущен напрямую.

Как правило, в блок if __name__ == '__main__' заносят все вызовы функций и вывод информации на стандартный поток вывода.

Можно ее и вовсе не использовать, при условии, что код из данного файла не импортируется в других файлах проекта.

Цитата Сообщение от cilin Посмотреть сообщение
Здесь наверное уместен термин file_name
"__main__" это специальное (виртуальное) имя модуля (который совпадает с текущим скриптом, при условии что он выполняется как скрипт, а не импортируется как библиотека).
Если код не выполняется, а импортируется - переменная __name__ равна реальному имени модуля.
Но проверка делается исключительно указанным выше способом, без всяких собственных "а что если поменять местами или написать реальное имя файла и т.д."



Цитата Сообщение от cilin Посмотреть сообщение
Блин я вот только третий день разбираюсь с python до того времени не было
А в Java и PHP такой же длительности практика?
Просто в Java есть ООП, а PHP есть ООП. В Java есть структуры данных, в PHP есть структуры данных.
В Java есть циклы. В PHP есть циклы.
Если уметь ими пользоваться, то код на 100 строк лапши из повторов пишется в 10.
В Python ровно все то же.
1
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82
19.10.2021, 13:43  [ТС]
А так сложно было все объяснить по человечески, без намеков? Это же я знаю, но ни кому не скажу. Я догадывался что конструкция
Python
1
if __name__ == "__main__":
может носить характер регулярного выражения и просто просил это прокомментировать, смотрите выше
Цитата Сообщение от cilin Посмотреть сообщение
Почему он ругался без If не знаю, если кто прокомментирует буду только рад!
Поэтому за ответ большое спасибо!
А вот за этику, простите, поставлю вам двойку.
Цитата Сообщение от Garry Galler Посмотреть сообщение
А в Java и PHP такой же длительности практика?
Даже не обиделся!
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.10.2021, 13:49
cilin, регулярное выражение здесь вообще никаким местом
0
-34 / 2 / 1
Регистрация: 02.02.2011
Сообщений: 82
19.10.2021, 14:13  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
cilin, регулярное выражение здесь вообще никаким местом
Да я не злорадствовать, просто поймите, ищешь что либо в интернете и вот, выброди твоя тема, читаешь и понять не можешь что там люди написали, какие то намеки и тема для тебя не раскрывается. Что у самих такого не было, а время ты потратил, а иногда оно дорогого стоит! Я просто за то чтобы уж если и создаешь тему так доведи ее до конца, что бы понятно всем было.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.10.2021, 14:13
Помогаю со студенческими работами здесь

Используя иерархию и наследования, создать классы окна, окна с заголовком и окна с кнопкой
Помогите пожалуйста, написать программу на JavaScript: Используя иерархию и наследования, создать классы окна, окна с заголовком и окна...

я все вижу
я же бот

Не вижу логики
Здравствуйте Уважаемые программисты. С базой работаю в общем где-то часа и то в основном теория поэтому прошу сильно не критиковать. Не...

Не вижу изменений
Всем привет! Кое-как разобрался, как на сервере установить репозиторий, потом склонировал на локальную машину, все ОК. А потом, когда...

Не вижу изменений...
Здравствуйте ! Попытался покопать web на лотусе. Есть несколько баз с web интрефейсом. Из одной по ссылке перехожу в другую. Меняю...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru