Difference between revisions of "Slicer3:Python:ScriptedModulesTipsNTricks"
From Slicer Wiki
Line 23: | Line 23: | ||
</pre> | </pre> | ||
− | 3. In your ScriptedModuleGUI class, edit the BuildGUI function and add the following code after calling | + | 3. In your ScriptedModuleGUI class, edit the BuildGUI function and add the following code '''after calling ''self.BuildHelpAndAboutFrame''''': |
<pre> | <pre> | ||
Line 50: | Line 50: | ||
slicer.TkCall("pack %s -side top -anchor nw -fill x -padx 2 -pady 2" % self._logoLabel.GetWidgetName()) | slicer.TkCall("pack %s -side top -anchor nw -fill x -padx 2 -pady 2" % self._logoLabel.GetWidgetName()) | ||
... | ... | ||
− | |||
</pre> | </pre> | ||
+ | |||
+ | The logo should appear after CMake gets executed the next time. | ||
== MRML Events == | == MRML Events == |
Revision as of 01:07, 13 April 2011
Home < Slicer3:Python:ScriptedModulesTipsNTricksContents
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()) ...
The logo should appear after CMake gets executed the next time.