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,1762 золотых знака9 серебряных знаков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?

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.

  • Модуль pyqt5 является одним из самых популярных инструментов для разработки графического интерфейса в языке программирования Python. Однако, многие разработчики сталкиваются с проблемой, когда импорт модуля uic из pyqt5 не работает.

    Модуль uic предоставляет возможность загружать и использовать пользовательский интерфейс, созданный в Qt Designer. При правильной настройке, импорт uic должен работать без проблем. Однако, необходимо учесть некоторые причины, по которым импорт может не работать.

    • Отсутствие установленного модуля pyqt5: перед импортом модуля uic, убедитесь, что у вас установлен модуль pyqt5. Воспользуйтесь командой pip install pyqt5 для его установки.
    • Необходимость обновления модуля: если у вас уже установлен модуль pyqt5, проверьте его версию. Возможно, вам потребуется обновить модуль до последней версии из-за возможных ошибок или неполадок.
    • Проблемы при добавлении в переменную окружения: если вы добавляете путь к модулю pyqt5 в переменную окружения PATH, убедитесь, что путь указан правильно и доступен из вашей среды разработки.

    Если после выполнения всех этих шагов импорт uic по-прежнему не работает, рекомендуется обратиться к документации к модулю pyqt5 или обратиться за помощью в сообществе разработчиков.

    Содержание

    1. Ошибки при использовании import uic
    2. Модуль uic не найден
    3. ImportError: cannot import name ‘loadUi’ from ‘uic’
    4. QFileOpenEvent is not defined
    5. ‘NoneType’ object has no attribute ‘addAction’
    6. Причины и способы исправления
    7. Вопрос-ответ
    8. Почему при выполнении команды import uic из библиотеки pyqt5 возникает ошибка?
    9. Как исправить ошибку при использовании команды import uic из библиотеки pyqt5?
    10. Какая версия библиотеки pyqt5 необходима для работы с import uic?

    Ошибки при использовании import uic

    Модуль uic в PyQt5 предоставляет функционал для работы с файлами пользовательского интерфейса (UI) созданными в Qt Designer. Он позволяет загружать UI-файлы и создавать объекты пользовательского интерфейса на их основе. Однако, при использовании import uic могут возникнуть некоторые ошибки.

    Модуль uic не найден

    Эта ошибка возникает, когда интерпретатор Python не может найти модуль uic. Возможны несколько причин:

    1. PyQt5 не установлен или установлен неправильно. Установите PyQt5 с помощью менеджера пакетов или из исходного кода.
    2. Вам может понадобиться установить отдельно пакет PyQt5-tools, который включает модуль uic.

    ImportError: cannot import name ‘loadUi’ from ‘uic’

    Эта ошибка связана с использованием устаревшего синтаксиса импорта. В новой версии PyQt5 функция ‘loadUi’ была переименована в ‘loadUiType’. Чтобы исправить эту ошибку, замените строку импорта на:

    from PyQt5.uic import loadUiType

    QFileOpenEvent is not defined

    При запуске программы вы можете столкнуться с ошибкой, связанной с отсутствием определения класса QFileOpenEvent. Это может произойти, если вы используете PyQt5 версии 5.14 и более ранние.

    Чтобы исправить эту ошибку, добавьте следующую строку в свой код:

    from PyQt5.QtCore import QFileOpenEvent

    ‘NoneType’ object has no attribute ‘addAction’

    При вызове метода loadUi вы можете столкнуться с ошибкой, указывающей на отсутствие атрибута addAction у объекта ‘NoneType’. Это может произойти, если в UI-файле не был добавлен виджет QAction.

    Чтобы исправить эту ошибку, откройте свой UI-файл в Qt Designer и убедитесь, что добавлен виджет QAction. Если его нет, добавьте его в ваш UI-файл.

    Ошибки при использовании import uic в PyQt5 могут возникать по разным причинам, но обычно их можно легко исправить, следуя указанным выше рекомендациям.

    Причины и способы исправления

    При использовании библиотеки PyQt5 для разработки приложений на языке Python иногда может возникнуть проблема с импортом модуля uic. Данный модуль предоставляет инструменты для создания пользовательского интерфейса на основе файлов .ui, созданных с помощью программы Qt Designer.

    Возможные причины, по которым import uic может не работать:

    • Отсутствие установленной библиотеки PyQt5. Для установки библиотеки можно воспользоваться следующей командой: pip install pyqt5.
    • Необходимость специального импорта uic из PyQt5. Вместо import uic может потребоваться использовать from PyQt5 import uic.
    • Проблемы с наличием файла .ui в нужной директории. Проверьте правильность пути к файлу и его наличие.
    • Проблемы с версией PyQt5. Если используете PyQt5 версии 5.11 или более новой, попробуйте изменить импорт на from PyQt5.uic import loadUi.
    • Ошибки при использовании программы Qt Designer для создания файла .ui. Проверьте, что файл .ui создан с правильными параметрами и не содержит ошибок.

    Способы исправления проблемы:

    1. Установите библиотеку PyQt5 с помощью команды pip install pyqt5.
    2. Проверьте правильность импорта uic или loadUi из библиотеки PyQt5.
    3. Убедитесь, что файл .ui находится в нужной директории и доступен для импорта.
    4. Обновите версию PyQt5, если используете старую версию.
    5. Проверьте файл .ui на наличие ошибок с помощью программы Qt Designer.

    При возникновении проблем с импортом модуля uic в PyQt5 рекомендуется проверить вышеуказанные причины и применить соответствующие способы исправления. Обращайте внимание на версию библиотеки и правильность использования соответствующих импортов, а также на наличие и правильность файла .ui.

    Вопрос-ответ

    Почему при выполнении команды import uic из библиотеки pyqt5 возникает ошибка?

    Ошибка может возникать по нескольким причинам. Возможно, ваша установка библиотеки pyqt5 была произведена некорректно или у вас установлена устаревшая версия. Также, возможно, вы не добавили путь к библиотеке в переменную среды PATH или не указали его явно при выполнении команды import uic. Проверьте версию библиотеки, убедитесь, что она правильно установлена, и добавьте путь к библиотеке в переменную среды PATH, чтобы исправить ошибку.

    Как исправить ошибку при использовании команды import uic из библиотеки pyqt5?

    Для исправления ошибки необходимо проверить корректность установки библиотеки pyqt5 и версию, установленную на вашей системе. Если установка произведена некорректно или у вас установлена устаревшая версия библиотеки, выполните переустановку с последней версией. Также убедитесь, что вы добавили путь к библиотеке в переменную среды PATH или явно указали его при выполнении команды import uic. Если все настроено верно, ошибка должна исчезнуть.

    Какая версия библиотеки pyqt5 необходима для работы с import uic?

    Для работы с import uic необходимо использовать версию библиотеки pyqt5, которая включает в себя модуль uic. Старые версии pyqt5 могут не иметь этого модуля или иметь его в устаревшем виде. Рекомендуется установить последнюю версию pyqt5, чтобы иметь доступ к актуальным функциям и возможностям uic.

    PyQt5 является одной из самых популярных библиотек для создания графических интерфейсов на языке программирования Python. Она позволяет разрабатывать кросс-платформенные приложения с использованием графической библиотеки Qt. Однако, при попытке импортировать модуль uic из PyQt5, многие разработчики сталкиваются с ошибкой. Она может возникнуть по разным причинам и требует детального изучения и решения.

    Одна из основных причин возникновения ошибки «Ошибка импорта from pyqt5 import uic» заключается в том, что модуль uic не был установлен или не был установлен в полностью функциональном состоянии. Также возможно, что у вас установлена другая версия PyQt5, которая не содержит модуля uic. В таком случае вам придется либо установить модуль uic отдельно, либо обновить версию PyQt5.

    Решение:

    Для установки модуля uic можно воспользоваться утилитой pip, которая предустановлена с Python. Откройте командную строку или терминал и выполните команду:

    pip install PyQt5-tools

    Если у вас уже установлена библиотека PyQt5, а модуль uic отсутствует, то обновите библиотеку с помощью следующей команды:

    pip install —upgrade PyQt5

    После установки или обновления модуля uic, вы сможете импортировать его и использовать в своем Python-коде без ошибок.

    Содержание

    1. Часто встречающаяся ошибка при импорте from pyqt5 import uic
    2. Неустановленный PyQt5
    3. Отсутствие модуля uic в PyQt5
    4. Конфликт версий PyQt5-tools и PyQt5

    Часто встречающаяся ошибка при импорте from pyqt5 import uic

    При разработке программного обеспечения, использующего библиотеку PyQt5 для создания графического интерфейса с помощью дизайнера Qt Designer, часто возникает ошибка при импорте модуля uic из PyQt5. Это может произойти по разным причинам, и решение проблемы зависит от конкретной ситуации.

    Одна из причин возникновения ошибки может быть связана с неустановленной или неправильно установленной библиотекой PyQt5. Перед импортом uic необходимо убедиться, что библиотека установлена правильно. Для этого можно использовать менеджер пакетов, например, pip, и выполнить команду:

    pip install pyqt5

    Если библиотека установлена, но ошибка все равно возникает, то возможно проблема связана с версией библиотеки. Проверить установленную версию можно с помощью команды:

    pyqt5 --version

    Если версия ниже необходимой или установленные пакеты конфликтуют между собой, рекомендуется обновить библиотеку или установить необходимую версию с помощью команды:

    pip install pyqt5==5.15

    Еще одна возможная причина ошибки может быть связана с неправильным импортом модуля uic. При импорте необходимо убедиться, что путь к модулю указан правильно. Импорт может выглядеть следующим образом:

    from PyQt5 import uic

    Если все вышеперечисленные решения не помогли, рекомендуется выполнить переустановку библиотеки PyQt5 и перезапустить среду разработки.

    Неустановленный PyQt5

    Чтобы исправить эту ошибку, необходимо установить PyQt5. Для этого можно воспользоваться менеджером пакетов pip:

    pip install PyQt5

    После успешной установки PyQt5 можно импортировать библиотеку с помощью команды from PyQt5 import uic. Это позволит использовать функциональность PyQt5 для создания и управления графическим интерфейсом приложения.

    Если после установки PyQt5 ошибка все еще возникает, возможно, что в вашей среде разработки не настроены пути к библиотекам PyQt5. В таком случае, убедитесь, что ваши настройки позволяют импортировать модуль PyQt5.

    Если вы продолжаете столкнуться с ошибкой импорта, убедитесь, что у вас установлена последняя версия PyQt5 и что модуль находится в правильном расположении.

    Установка и правильная настройка PyQt5 позволит вам успешно использовать и импортировать модуль в своем проекте.

    Отсутствие модуля uic в PyQt5

    Причиной этой ошибки может быть отсутствие установленного PyQt5 в системе или неправильная установка. Убедитесь, что вы правильно установили PyQt5 с помощью пакетного менеджера или скачали его из официального репозитория.

    Если у вас уже установлен PyQt5 и ошибка все равно возникает, возможно, у вас отсутствует отдельный пакет uic. В этом случае вам необходимо установить модуль uic отдельно. Вы можете установить его с помощью команды pip:

    pip install pyqt5-uic

    После установки модуля uic вы сможете успешно выполнять операцию импорта from PyQt5 import uic и использовать его функции для загрузки интерфейса из .ui-файлов.

    Если у вас установлены и PyQt5-tools, и PyQt5 (PyQt5.QtCore, PyQt5.QtGui, PyQt5.QtWidgets), то при попытке импортировать uic из PyQt5 может возникнуть конфликт версий и, как следствие, ошибка.

    Чтобы решить эту проблему, можно обратиться к одному из следующих методов:

    Метод Описание
    1. Удалить PyQt5-tools и переустановить только PyQt5, инструкции по установке PyQt5 без PyQt5-tools можно найти в официальной документации PyQt5.
    2. Использовать абсолютный импорт, указав полный путь к модулю uic из PyQt5-tools, например from PyQt5.uic import loadUi.
    3. Переименовать модуль uic из PyQt5-tools, чтобы избежать конфликта с модулем uic из PyQt5. Например, вы можете переименовать его в pyuic и импортировать его как from pyuic import loadUi.

    Выбор конкретного метода зависит от ваших предпочтений и требований проекта. Убедитесь, что вы выбираете правильную версию PyQt5, соответствующую установленной версии PyQt5-tools или вообще не устанавливаете PyQt5-tools, если они вам не нужны.

    При правильном разрешении конфликта версий PyQt5-tools и PyQt5, ошибка импорта from pyqt5 import uic должна быть успешно исправлена.

    Понравилась статья? Поделить с друзьями:
  • From pil import image imagetk ошибка
  • From keyword not found where expected oracle ошибка
  • From keras models import sequential ошибка
  • From django contrib import admin ошибка
  • Foxpro try catch получить текст ошибки