Slicer3:Python:ScriptedModulesTipsNTricks
From Slicer Wiki
Revision as of 01:06, 13 April 2011 by Haehn (talk | contribs) (→Adding a Logo to the Help&Acknowledgement Panel)
Home < Slicer3:Python:ScriptedModulesTipsNTricks
Contents
Python Scripted Modules - Tips'N'Tricks
This page shows tips and tricks for writing Python Scripted Modules in Slicer3.
Adding your Logo to the Help&Acknowledgement Panel
It is possible to show your custom logo in the Help&Acknowledgement Panel of your Python Scripted Module.
1. Add your logo to the modules directory in .png format. 2. Edit your CMakeLists.txt and add the following section to copy the logo into Slicer's shared module directory. In this example, we include the UPenn logo:
# copy UPenn_logo.png configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/UPenn_logo.png ${CMAKE_BINARY_DIR}/${Slicer3_INSTALL_MODULES_SHARE_DIR}/${PROJECT_NAME}/UPenn_logo.png COPYONLY) install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/UPenn_logo.png DESTINATION ${Slicer3_INSTALL_MODULES_SHARE_DIR}/${PROJECT_NAME} )
3. In your ScriptedModuleGUI class, edit the BuildGUI function and add the following code after calling self.BuildHelpAndAboutFrame:
def BuildGUI(self): ''' Creates the Graphical User Interface (GUI) of the AtlasCreator. Gets called once during loading of the module. ''' ... self._helpAboutFrame = self.BuildHelpAndAboutFrame(self._atlascreatorPage,helpText,aboutText) # include the UPenn logo logoFrame = self.GetLogoFrame() pathToLogo = os.path.normpath(slicer.Application.GetBinDir() + '/../share/Slicer3/Modules/AtlasCreator/UPenn_logo.png') logo = slicer.vtkKWIcon() logoReader = slicer.vtkPNGReader() logoReader.SetFileName(pathToLogo) logoReader.Update() logo.SetImage(logoReader.GetOutput()) self._logoLabel = slicer.vtkKWLabel() self._logoLabel.SetParent(logoFrame) self._logoLabel.Create() self._logoLabel.SetImageToIcon(logo) slicer.TkCall("pack %s -side top -anchor nw -fill x -padx 2 -pady 2" % self._logoLabel.GetWidgetName()) ... self._moduleFrame.SetParent(self._atlascreatorPage)