From pyqt5 import uic ошибка

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

Squidward's user avatar

11

Просмотрите видео еще раз. Там написано

from PyQt5 import uic

ответ дан 19 дек 2020 в 13:52

mega asda's user avatar

mega asdamega asda

4552 серебряных знака15 бронзовых знаков

20

Так у Вас не с импортом проблема. На скриншоте же написано, что ошибка в отсутствии файла calc.ui, а не в импорте uic. Скорее всего, вы просто забыли поместить файл calc.ui в папку с calc.py

На подсветку импорта красным не обращайте внимания, в PyCharm такое бывает

ответ дан 19 дек 2020 в 14:30

kto's user avatar

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

Kers's user avatar

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» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
    Здравствуйте, не могу запустить питон, при записи в командную строку python ошибка :&quot;python&quot; не…

    «pip» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
    Всем привет! помогите пожалуйста хочу установить pytelegrambotapi через cmd , но не полуается…

    «zip» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
    Учусь по книге a byte of phyton,там есть пример кода:

    import os
    import time
    # 1. Файлы и…

    «pip» не является внутренней или внешней командой, исполняемой программой или пакетным файлом в pycharm
    Добрый день, ломаю голову над ошибкой уже 3 дня! Когда пишу “pip” в cmd — все нормально работает,…

    «webpack-dev-server» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
    C:pycharmdutyvueapp&gt;npm run dev

    &gt; vueapp@1.0.0 dev C:pycharmdutyvueapp
    &gt;…

    4

    Модератор

    Эксперт Python

    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

    Модератор

    Эксперт Python

    2873 / 1574 / 510

    Регистрация: 21.02.2017

    Сообщений: 4,197

    Записей в блоге: 1

    12.07.2021, 15:17

    4

    Лучший ответ Сообщение было отмечено FagotPetrova как решение

    Решение

    FagotPetrova, вперед читать доки по PyQt5(PySide2) — pyuic(uic) это исполняемый файл который находится в составе пакета.

    Добавлено через 40 секунд
    И тем более:

    Во-первых, какая разница где он располагается, лишь бы работал. Во-вторых, ui-файлы можно использовать и без конвертации:

    Python
    1
    2
    3
    4
    5
    6
    7
    
    from PyQt5 import uic
    from PyQt5.QtWidgets import QMainWindow
     
    class MainWindow(QMainWindow):
       def __init__(self):
          super(MainWindow, self).__init__()
          uic.loadUi('mainwindow.ui', self)



    0



    2 / 2 / 0

    Регистрация: 08.03.2021

    Сообщений: 161

    12.07.2021, 15:28

     [ТС]

    5

    Только что хотел написать,что понял.Спасибо



    0



  • From keyword not found where expected oracle ошибка
  • From keras models import sequential ошибка
  • From imageai detection import objectdetection ошибка
  • From flask import flask ошибка
  • From docx import document ошибка