import PyQt5 import uic
SyntaxError: invalid syntax
делаю все по видео https://www.youtube.com/watch?v=90xZtB3bbcg, но дальше не могу продвигаться, ибо никак не разберусь как это исправить. Я новичок в программировании, надеюсь на поддержку, спасибо
вот код:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5 import uic
import os
class App(QWidget):
def __init__(self):
self.start()
self.ui.show()
def start(self):
self.ui = uic.loadUi('calc.ui')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
app.exec_()
задан 19 дек 2020 в 13:45
11
Просмотрите видео еще раз. Там написано
from PyQt5 import uic
ответ дан 19 дек 2020 в 13:52
mega asdamega asda
4552 серебряных знака15 бронзовых знаков
20
Так у Вас не с импортом проблема. На скриншоте же написано, что ошибка в отсутствии файла calc.ui, а не в импорте uic. Скорее всего, вы просто забыли поместить файл calc.ui в папку с calc.py
На подсветку импорта красным не обращайте внимания, в PyCharm такое бывает
ответ дан 19 дек 2020 в 14:30
ktokto
251 серебряный знак7 бронзовых знаков
3
Для начала в вашем коде сделайте пути относительно скрипта это снимет часть проблем с отслеживанием что где лежит.
from pathlib import Path
cur_dir = Path(__file__).resolve().parent
print("Директория скрипта", cur_dir)
# ... Ваш код ...
def start(self):
self.ui = uic.loadUi(cur_dir / 'calc.ui')
Далее в консоли проверьте чтобы путь запуска был = пути скрипта. Текст перед тем где вы набираете команду. В принципе все должно работать. Еще если вы преобразуете calc.ui
-> calc.py
то это надо отразить и в коде.
Скорее всего Вы просто запутались с путями в системе, а также возможно с тем какой питон использует скрипт системный или виртуальное окружение.
ответ дан 19 дек 2020 в 17:13
KersKers
3,1562 золотых знака7 серебряных знаков16 бронзовых знаков
4
[idnovic@id-lappy ~]0$ maestral-gui
Warning: PyQt5 is required to run the Maestral GUI. Run `pip install pyqt5` to install it.
Traceback (most recent call last):
File "/home/idnovic/.local/bin/maestral", line 11, in <module>
load_entry_point('maestral==0.2b0', 'console_scripts', 'maestral')()
File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/idnovic/.local/lib/python3.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/idnovic/.local/lib/python3.7/site-packages/maestral/console_script.py", line 30, in gui
from maestral.gui.main import run
File "/home/idnovic/.local/lib/python3.7/site-packages/maestral/gui/main.py", line 26, in <module>
from maestral.gui.settings_window import SettingsWindow
File "/home/idnovic/.local/lib/python3.7/site-packages/maestral/gui/settings_window.py", line 13, in <module>
from PyQt5 import QtGui, QtCore, QtWidgets, uic
ImportError: cannot import name 'uic' from 'PyQt5' (/usr/lib64/python3.7/site-packages/PyQt5/__init__.py)
[idnovic@id-lappy ~]1$ pip3 install --user pyqt5
Requirement already satisfied: pyqt5 in /usr/lib64/python3.7/site-packages (5.12.2)
It seems I have the dependency installed but still have an import problem.
Do you have suggestions?
Я пытаюсь загрузить свой файл .ui на python и хочу использовать uic.loadUI()
функция, но у меня возникли проблемы с ее импортом, я получаю сообщение об ошибке:
*Cannot find reference 'uic' in '__init__.pyi'*
Мой код:
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5 import uic
import sys
class UI(QWidget):
def __init__(self):
super().__init__()
uic.loadUi("mybutton.ui", self)
app = QApplication([])
window = UI()
window.show()
app.exec_()
Я использую python 3.9.7. Установил PyQt5 с помощью pip. Проверил папку PyQt5, и она выглядит так: https://i.stack.imgur.com/bTlXs.png
Не могли бы Вы, пожалуйста, помочь?
This topic has been deleted. Only users with topic management privileges can see it.
have an import problem under PyCharm uic is not found
OS: Ubuntu 20.04
import sys
from PyQt5 import QtCore, QtGui, QtWidgets, uic
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
loadUi("first_test.ui")
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
PyQt5 5.15.4
pyqt5-plugins 5.15.4.2.2
PyQt5-qt5 5.15.2
PyQt5-sip 12.11.0
pyqt5-tools 5.15.4.3.2
Any Ideas
Thanks
McAce
Hi and welcome to devnet,
uic is a command line tool, it’s not something you import.
It might not be completely accurate in the case of PyQt5, see answer below for more details.
[edit: added more details SGaist]
Ah Okay now I understand it all, I was missing this info.
Thanks
@SGaist Hi, if it wasnt meant to be imported. Why is there documentation found here that shows us how to import it?
Hi,
@TheNoodleNator said in import problem under PyCharm uic is not found:
@SGaist Hi, if it wasnt meant to be imported. Why is there documentation found here that shows us how to import it?
I learned something new, thanks !
It’s something that is specific to PyQt5 and quite frankly I have never came across it until now. From a quick look, it does not seem to be documented as public API to be used by Qt applications.
The main things I found boils down to: python3 -m PyQt5.uic.pyuic mywidget.ui -o mywidget.py
The standard way to use .ui files is through the QtDesigner module either by using pyuic5
to generate a python file from your .ui file or use of the QUiLoader class. See here for a more detailed explanation.
2 / 2 / 0 Регистрация: 08.03.2021 Сообщений: 161 |
|
1 |
|
12.07.2021, 12:44. Показов 9540. Ответов 4
Всем доброе утро! Проблема детская,но я всё обыскал,не могу понять-установил питон(PATH отметил),в Pycharm установил интерпретатор,скачал через cmd pyuic5 и проблем нет.Но не могу компилировать ui в py(какие только варианты команд не пробовал).Ошибка одна и та же- «pyuic5-uic» не является внутренней или внешней
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
12.07.2021, 12:44 |
Ответы с готовыми решениями: «python» не является внутренней или внешней командой, исполняемой программой или пакетным файлом «pip» не является внутренней или внешней командой, исполняемой программой или пакетным файлом «zip» не является внутренней или внешней командой, исполняемой программой или пакетным файлом import os «pip» не является внутренней или внешней командой, исполняемой программой или пакетным файлом в pycharm «webpack-dev-server» не является внутренней или внешней командой, исполняемой программой или пакетным файлом > vueapp@1.0.0 dev C:pycharmdutyvueapp 4 |
Модератор 2873 / 1574 / 510 Регистрация: 21.02.2017 Сообщений: 4,197 Записей в блоге: 1 |
|
12.07.2021, 12:56 |
2 |
FagotPetrova, заходим в папку PyQt5, там в корне лежит нужный exe файл, профит.
0 |
2 / 2 / 0 Регистрация: 08.03.2021 Сообщений: 161 |
|
12.07.2021, 14:57 [ТС] |
3 |
exe файла там нет,хотя пакет установил через pip.А зачем мне exe?
0 |
Fudthhh Модератор 2873 / 1574 / 510 Регистрация: 21.02.2017 Сообщений: 4,197 Записей в блоге: 1 |
||||
12.07.2021, 15:17 |
4 |
|||
Сообщение было отмечено FagotPetrova как решение РешениеFagotPetrova, вперед читать доки по PyQt5(PySide2) — pyuic(uic) это исполняемый файл который находится в составе пакета. Добавлено через 40 секунд Во-первых, какая разница где он располагается, лишь бы работал. Во-вторых, ui-файлы можно использовать и без конвертации:
0 |
2 / 2 / 0 Регистрация: 08.03.2021 Сообщений: 161 |
|
12.07.2021, 15:28 [ТС] |
5 |
Только что хотел написать,что понял.Спасибо
0 |