В общем смотря видеоуроки в интернет, я наткнулся на проблему, я сделал приложение в qt, преобразовал его в .py(назовем его test.py). Затем создал новый файл .py(назовем main.py) проделал все действия чтобы импортировать код с test.py в main.py, в итоге все отлично работает, ввожу код в графической строке мне выдает информацию, но проблема совсем не в этом, я понятия не имею как из этого сделать полноценное приложение. Я не понимаю как этих два кода скомпилировать в один exe. Я хочу сделать приложение чтобы мои друзья могли протестировать его не имея вспомогательных приложений. Я в python новичок.
Операционная система Windows 10 pro.
Версия: Python 3.8.2
pip list
Package Version
-------------- -------------------
altgraph 0.17
certifi 2020.4.5.1
chardet 3.0.4
colorama 0.4.3
future 0.18.2
geojson 2.5.0
idna 2.9
pefile 2019.4.18
pip 19.2.3
pyinstaller 4.0.dev0+4c7739a615
pyowm 2.10.0
PyQt5 5.14.2
PyQt5-sip 12.7.2
PySide2 5.14.2.1
pywin32-ctypes 0.2.0
requests 2.23.0
setuptools 41.2.0
shiboken2 5.14.2.1
urllib3 1.25.9
Дополнение:
Это то что написано в коде test.py и main.py
Операционная система Windows 10 pro.
Версия: Python 3.8.2
pip list
Package Version
-------------- -------------------
altgraph 0.17
certifi 2020.4.5.1
chardet 3.0.4
colorama 0.4.3
future 0.18.2
geojson 2.5.0
idna 2.9
pefile 2019.4.18
pip 19.2.3
pyinstaller 4.0.dev0+4c7739a615
pyowm 2.10.0
PyQt5 5.14.2
PyQt5-sip 12.7.2
PySide2 5.14.2.1
pywin32-ctypes 0.2.0
requests 2.23.0
setuptools 41.2.0
shiboken2 5.14.2.1
urllib3 1.25.9
Дополнение:
Это то что написано в коде test.py и main.py
Python:
test.py:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'C:\Users\User\Desktop\Типа ПРОГРАММЫ\nedo.ui'
#
# Created by: PyQt5 UI code generator 5.14.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(291, 292)
Form.setStyleSheet("background-color: #fff")
self.pushButton = QtWidgets.QPushButton(Form)
self.pushButton.setGeometry(QtCore.QRect(30, 100, 231, 51))
self.pushButton.setStyleSheet("QPushButton {\n"
" font: 75 11pt \"MS Shell Dlg 2\";\n"
" color: #000;\n"
" background-color: #06d402;\n"
" border: 2px;\n"
" border-color: dark;\n"
" border-style: solid;\n"
"}\n"
"\n"
"QPushButton:hover {\n"
" font: 75 12pt \"MS Shell Dlg 2\";\n"
" color: #000;\n"
" background-color: #5efc5b;\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
" font: 75 12pt \"MS Shell Dlg 2\";\n"
" color: #000;\n"
" background-color: #05cf02;\n"
"}\n"
"")
self.pushButton.setObjectName("pushButton")
self.lineEdit = QtWidgets.QLineEdit(Form)
self.lineEdit.setEnabled(True)
self.lineEdit.setGeometry(QtCore.QRect(10, 30, 271, 51))
self.lineEdit.setToolTipDuration(1)
self.lineEdit.setStyleSheet("border-width: 1px;\n"
"border-style: solid;\n"
"border-color: dark;\n"
"color: #000;\n"
"font: 63 14pt \"Yu Gothic UI Semibold\";\n"
"font: 87 10pt \"Arial Black\";\n"
"background-color: #d6d6d6;\n"
"")
self.lineEdit.setText("")
self.lineEdit.setObjectName("lineEdit")
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(14, 170, 261, 91))
self.label.setStyleSheet("color: #000;\n"
"font: 63 14pt \"Yu Gothic UI Semibold\";\n"
"font: 87 10pt \"Arial Black\";\n"
"background-color: #d6d6d6;\n"
"\n"
"border-width: 2px;\n"
"border-style: solid;\n"
"border-color: dark;")
self.label.setText("")
self.label.setObjectName("label")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.pushButton.setText(_translate("Form", "Получить"))
main.py:
import sys, pyowm
from PyQt5 import QtCore, QtGui, QtWidgets
from test import Ui_Form
#Создание приложения
app = QtWidgets.QApplication(sys.argv)
#Инициализация
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
#Логика приложения
def get_weather_city():
owm = pyowm.OWM('45c670ede61c89d2744cc330488821f3', language = "ru")
city = ui.lineEdit.text()
observation = owm.weather_at_place ( city )
w = observation.get_weather()
temperature = w.get_temperature( 'celsius' ) ['temp']
ui.label.setText( f'Температура: { temperature }' + '°C' )
ui.pushButton.clicked.connect( get_weather_city )
#Main loop
sys.exit(app.exec_())
Последнее редактирование: