B
    ½ÞZ  ã               @   sH   d dl Zd dlmZmZmZ ddlmZ ddlm	Z	 G dd„ deƒZ
dS )	é    N)ÚQtCoreÚQtGuiÚ	QtWidgetsé   )ÚUIParseré   )ÚLoaderCreatorPolicyc               @   s$   e Zd Zdd„ Zdd„ Zdd„ ZdS )ÚDynamicUILoaderc             C   s   t  | tttt|ƒ¡ d S )N)r   Ú__init__r   r   r   r   )ÚselfÚpackage© r   ú6lib/python3.7/site-packages/PyQt5/uic/Loader/loader.pyr
   2   s    zDynamicUILoader.__init__c             C   sN   | j d k	r:t| j | j |¡ƒs4tdt| j ƒ|ffƒ‚| j S | j ||d¡S d S )Nz#Wrong base class of toplevel widgetr   )ÚtoplevelInstÚ
isinstanceÚfactoryZfindQObjectTypeÚ	TypeErrorÚtypeZcreateQObject)r   Z	classnameZ
widgetnamer   r   r   ÚcreateToplevelWidget5   s    
z$DynamicUILoader.createToplevelWidgetc             C   s8   || _ t|dƒrd}nt|ƒ}tj |¡}|  |||¡S )NÚreadÚ )r   ÚhasattrÚstrÚosÚpathÚdirnameÚparse)r   Úfilenamer   Zresource_suffixZbasedirr   r   r   ÚloadUi>   s    
zDynamicUILoader.loadUiN)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r   r   r   r	   1   s   	r	   )Úos.pathr   ZPyQt5r   r   r   Zuiparserr   Zqobjectcreatorr   r	   r   r   r   r   Ú<module>)   s   