Delphi: Необходимый пакет, не найденный

В вашем примере я не вижу, как вы вызываете метод toolTip(). Попробуйте это:

import sys
from PyQt5.QtCore    import Qt, QPointF
from PyQt5.QtWidgets import (QGraphicsView, QGraphicsScene, QApplication, 
                             QGraphicsEllipseItem, QGraphicsSceneHoverEvent, 
                             QGraphicsSceneMouseEvent)

class MovableDisk(QGraphicsEllipseItem):
    def __init__(self, top_left_x, top_left_y, radius):
        super().__init__(0, 0, radius, radius) 
        self.setPos(top_left_x, top_left_y)  
        self.setBrush(Qt.red)
        self.setAcceptHoverEvents(True)  

        self.setToolTip("Test")                                          # < +++++ 

    def hoverEnterEvent(self, event: 'QGraphicsSceneHoverEvent'):
        QApplication.instance().setOverrideCursor(Qt.OpenHandCursor)

    def hoverLeaveEvent(self, event: 'QGraphicsSceneHoverEvent'):
        QApplication.instance().restoreOverrideCursor()

    def mouseMoveEvent(self, event: 'QGraphicsSceneMouseEvent'):
        new_cursor_position   = event.scenePos()    
        old_cursor_position   = event.lastScenePos()
        old_top_left_corner   = self.scenePos()
        new_top_left_corner_x = new_cursor_position.x() - old_cursor_position.x() + old_top_left_corner.x()
        new_top_left_corner_y = new_cursor_position.y() - old_cursor_position.y() + old_top_left_corner.y()
        self.setPos(QPointF(new_top_left_corner_x, new_top_left_corner_y))  

    def mousePressEvent(self, event: 'QGraphicsSceneMouseEvent'): pass

    def mouseDoubleClickEvent(self, event: 'QGraphicsSceneMouseEvent'): pass

    def mouseReleaseEvent(self, event: 'QGraphicsSceneMouseEvent'): 
        self.setToolTip("

pos:
x({}), y({})

" # < +++++ "".format(self.pos().x(), self.pos().y())) # < +++++ class MyView(QGraphicsView): def __init__(self): super().__init__() self.scene = QGraphicsScene() self.setScene(self.scene) self.setSceneRect(0, 0, 250, 250) self.disk = MovableDisk(50, 50, 20) self.scene.addItem(self.disk) if __name__ == '__main__': app = QApplication([]) f = MyView() f.show() sys.exit(app.exec_())

enter image description here

12
задан Mason Wheeler 18 April 2009 в 19:24
поделиться

3 ответа

Либо пакет не найден, либо компилятор сбит с толку. В последнем случае перезапуск иногда помогает. Затем выполните ручную сборку из всех пакетов по порядку.

Если это действительно невозможно найти, проверьте, доступны ли все пакеты (bpl и dcp) и dcu. Вам нужны оба.

14
ответ дан 2 December 2019 в 05:55
поделиться

Я бы проверил, чтобы убедиться, что вы пишете файлы .dcp для пакетов. После этого убедитесь, что в пути поиска каждого пакета есть запись для выходной папки .dcp.

1
ответ дан 2 December 2019 в 05:55
поделиться

Если это происходит, когда IDE пытается загрузить пакет: выходной каталог вашего пакета (где файлы * .bpl go) должен находиться в переменной среды PATH вашей системы. Пакеты представляют собой статически связанные библиотеки DLL, Windows должна быть в состоянии найти их для загрузки.

Если это происходит при сборке пакетов: любые / все ваши выходные каталоги DCP (куда идут файлы * .dcp) должны находиться в путь поиска зависимых проектов, чтобы компилятор мог найти скомпилированные пакеты. Вы также можете оставить каталог вывода DCP проекта пакета пустым - в этом случае используется глобальный каталог вывода DCP, установленный в Tools \ Options \ Library; зависимые проекты не должны включать его в свой путь поиска.

9
ответ дан 2 December 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: