def __init__(self): MMainWindow.__init__(self, None) uni.printForDevelopers("Started __init__") self.setObjectName("RealMainWindow") setMainWindow(self) self.isLockedMainForm = False self.Menu = None self.Table = None self.CentralWidget = MWidget() self.createMainLayout() uni.printForDevelopers("Before Bars.Bars") uni.printForDevelopers("Before Bars.StatusBar") self.StatusBar = StatusBar.StatusBar(self) uni.printForDevelopers("Before Bars.MenuBar") self.Menu = MenuBar.MenuBar(self) uni.printForDevelopers("Before Bars.ToolsBar") self.ToolsBar = ToolsBar.ToolsBar(self) uni.printForDevelopers("Before Bars.TableToolsBar") self.TableToolsBar = TableToolsBar.TableToolsBar(self) uni.printForDevelopers("Before Bars.refreshBars") Bars.refreshBars() uni.printForDevelopers("Before FileManager.FileManager") self.FileManager = FileManager.FileManager(self) uni.printForDevelopers("After FileManager.FileManager") self.setMainLayout() self.setCentralWidget(self.CentralWidget) self.setMenuBar(self.Menu) self.setStatusBar(self.StatusBar) uni.printForDevelopers("Before Menu.refreshForTableType") self.Menu.refreshForTableType() uni.printForDevelopers("Before Bars.getAllBarsStyleFromMySettings") Bars.getAllBarsStyleFromMySettings() self.setCorner(Mt.TopLeftCorner, Mt.LeftDockWidgetArea) self.setCorner(Mt.BottomLeftCorner, Mt.LeftDockWidgetArea) uni.printForDevelopers("End of __init__")
def __init__(self, platform, action_handler_callback): """ MainWindow contructor Setup the menu, toolbar, flowgraph editor notebook, block selection window... """ self._platform = platform gen_opts = platform.get_block('options').get_param('generate_options') generate_mode_default = gen_opts.get_value() generate_modes = [(o.get_key(), o.get_name(), o.get_key() == generate_mode_default) for o in gen_opts.get_options()] # load preferences Preferences.load(platform) #setup window gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) vbox = gtk.VBox() self.hpaned = gtk.HPaned() self.add(vbox) #create the menu bar and toolbar self.add_accel_group(Actions.get_accel_group()) self.menu_bar = Bars.MenuBar(generate_modes, action_handler_callback) vbox.pack_start(self.menu_bar, False) self.tool_bar = Bars.Toolbar(generate_modes, action_handler_callback) vbox.pack_start(self.tool_bar, False) vbox.pack_start(self.hpaned) #create the notebook self.notebook = gtk.Notebook() self.page_to_be_closed = None self.current_page = None self.notebook.set_show_border(False) self.notebook.set_scrollable(True) #scroll arrows for page tabs self.notebook.connect('switch-page', self._handle_page_change) #setup containers self.flow_graph_vpaned = gtk.VPaned() #flow_graph_box.pack_start(self.scrolled_window) self.flow_graph_vpaned.pack1(self.notebook) self.hpaned.pack1(self.flow_graph_vpaned) self.btwin = BlockTreeWindow(platform, self.get_flow_graph) self.hpaned.pack2(self.btwin, False) #dont allow resize #create the reports window self.text_display = TextDisplay() #house the reports in a scrolled window self.reports_scrolled_window = gtk.ScrolledWindow() self.reports_scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.reports_scrolled_window.add(self.text_display) self.reports_scrolled_window.set_size_request( -1, DEFAULT_REPORTS_WINDOW_WIDTH) self.flow_graph_vpaned.pack2(self.reports_scrolled_window, False) #dont allow resize #load preferences and show the main window self.resize(*Preferences.main_window_size()) self.flow_graph_vpaned.set_position( Preferences.reports_window_position()) self.hpaned.set_position(Preferences.blocks_window_position()) self.show_all() self.reports_scrolled_window.hide() self.btwin.hide()
def parameterize(occluder, outputPath, faceNumber, faceAngle, occlusionLevel): if occluder == 'Bars': Bars.barsScale(outputPath, faceNumber, faceAngle, occlusionLevel, 'None', 0, 1) if occluder == 'Door': Door.doorParameterization(outputPath, faceNumber, faceAngle, occlusionLevel, 'None', 0, 1) if occluder == 'Curtain': Curtain.curtainParameterization(outputPath, faceNumber, faceAngle, occlusionLevel, 'None', 0, 1) if occluder == 'Blinds': Blinds.blindsParameterization(outputPath, faceNumber, faceAngle, occlusionLevel, 'None', 0, 1) if occluder == 'Fence': Fence.fenceParameterization(outputPath, faceNumber, faceAngle, occlusionLevel, 'None', 0, 1)
def __init__(self, field_width, field_height): self.field_width = field_width self.field_height = field_height print("w = ", field_width, " h = ", field_height) self.background = QPixmap("space.png") self.shipImage = QPixmap("spaceship.png") self.ship = Ship( self, self.shipImage, Vector2D(self.field_width / 2, self.field_height - self.shipImage.height())) self.bars = Bars(self) self.score = 0 self.game_state = GameState.PLAYING self.font = QFont("Arial", 40)
def __init__(self, platform): """ MainWindow contructor Setup the menu, toolbar, flowgraph editor notebook, block selection window... """ self._platform = platform #setup window gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL) vbox = gtk.VBox() self.hpaned = gtk.HPaned() self.add(vbox) #create the menu bar and toolbar self.add_accel_group(Actions.get_accel_group()) vbox.pack_start(Bars.MenuBar(), False) vbox.pack_start(Bars.Toolbar(), False) vbox.pack_start(self.hpaned) #create the notebook self.notebook = gtk.Notebook() self.page_to_be_closed = None self.current_page = None self.notebook.set_show_border(False) self.notebook.set_scrollable(True) #scroll arrows for page tabs self.notebook.connect('switch-page', self._handle_page_change) #setup containers self.flow_graph_vpaned = gtk.VPaned() #flow_graph_box.pack_start(self.scrolled_window) self.flow_graph_vpaned.pack1(self.notebook) self.hpaned.pack1(self.flow_graph_vpaned) self.hpaned.pack2(BlockTreeWindow(platform, self.get_flow_graph), False) #dont allow resize #create the reports window self.text_display = TextDisplay() #house the reports in a scrolled window self.reports_scrolled_window = gtk.ScrolledWindow() self.reports_scrolled_window.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.reports_scrolled_window.add_with_viewport(self.text_display) self.reports_scrolled_window.set_size_request( -1, DEFAULT_REPORTS_WINDOW_WIDTH) self.flow_graph_vpaned.pack2(self.reports_scrolled_window, False) #dont allow resize #load preferences and show the main window Preferences.load(platform) self.resize(*Preferences.main_window_size()) self.flow_graph_vpaned.set_position( Preferences.reports_window_position()) self.hpaned.set_position(Preferences.blocks_window_position()) self.show_all()
def __init__(self): """ FlowGraph constructor. Create a list for signal blocks and connections. Connect mouse handlers. """ Element.__init__(self) #when is the flow graph selected? (used by keyboard event handler) self.is_selected = lambda: bool(self.get_selected_elements()) #important vars dealing with mouse event tracking self.element_moved = False self.mouse_pressed = False self.unselect() self.press_coor = (0, 0) #selected ports self._old_selected_port = None self._new_selected_port = None # current mouse hover element self.element_under_mouse = None #context menu self._context_menu = Bars.ContextMenu() self.get_context_menu = lambda: self._context_menu
def closeEvent(self, _event): try: if uni.isRaisedAnError is False: if uni.isContinueThreadAction(): uni.cancelThreadAction() _event.ignore() uni.isStartedCloseProcess = True uni.printForDevelopers("Started closeEvent") MApplication.setQuitOnLastWindowClosed(True) try: self.PlayerBar.MusicPlayer.stop() except: pass Details.closeAllDialogs() uni.printForDevelopers("Closed Dialogs") if uni.isRaisedAnError is False: if self.Table.checkUnSavedValues() is False: uni.isStartedCloseProcess = False uni.printForDevelopers("Close ignored") _event.ignore() uni.printForDevelopers("Before self.doBeforeCloseProcesses") if self.doBeforeCloseProcesses() is False: _event.ignore() return None uni.printForDevelopers("After self.doBeforeCloseProcesses") if isActivePyKDE4: uni.printForDevelopers("Before Save KDE Configs") kconf = MGlobal.config() kconfGroup = MConfigGroup(kconf, "DirectoryOperator") self.FileManager.dirOperator.writeConfig(kconfGroup) self.FileManager.actCollection.writeSettings(kconfGroup) uni.printForDevelopers("After Save KDE Configs") uni.printForDevelopers("Before Save Configs") uni.setMySetting(self.Table.hiddenTableColumnsSettingKey, self.Table.hiddenTableColumns) Bars.setAllBarsStyleToMySettings() Records.setRecordType(1) fu.writeToBinaryFile( fu.joinPath(fu.pathOfSettingsDirectory, "LastState"), self.saveState()) Records.restoreRecordType() geometry = [self.geometry().x(), self.geometry().y(), self.geometry().width(), self.geometry().height()] uni.setMySetting("MainWindowGeometries", geometry) uni.setMySetting("lastDirectory", self.FileManager.currentDirectory) uni.setMySetting("isMainWindowMaximized", self.isMaximized()) uni.setMySetting("isShowAdvancedSelections", self.SpecialTools.isShowAdvancedSelections) uni.setMySetting("tableType", uni.tableType) uni.setMySetting("activeTabNoOfSpecialTools", self.SpecialTools.tabwTabs.currentIndex()) uni.saveSettings() Settings.saveUniversalSettings() if uni.isActiveAmarok and uni.getBoolValue("amarokIsUseHost") is False: import Amarok uni.printForDevelopers("Before Amarok.stopEmbeddedDB") Amarok.stopEmbeddedDB() uni.printForDevelopers("After Amarok.stopEmbeddedDB") uni.printForDevelopers("After Save Configs") uni.printForDevelopers("Before self.doAfterCloseProcesses") self.doAfterCloseProcesses() uni.printForDevelopers("After self.doAfterCloseProcesses") except: if ReportBug.isClose is False: ReportBug.ReportBug() _event.ignore()
class Game: def __init__(self, field_width, field_height): self.field_width = field_width self.field_height = field_height print("w = ", field_width, " h = ", field_height) self.background = QPixmap("space.png") self.shipImage = QPixmap("spaceship.png") self.ship = Ship( self, self.shipImage, Vector2D(self.field_width / 2, self.field_height - self.shipImage.height())) self.bars = Bars(self) self.score = 0 self.game_state = GameState.PLAYING self.font = QFont("Arial", 40) def reset(self): self.ship.reset() self.bars.reset() self.score = 0 self.game_state = GameState.PLAYING def tick(self, keys): if self.game_state == GameState.PLAYING: dx = 0 dy = 0 if keys[Qt.Key_Left]: dx = Directions.LEFT.dx elif keys[Qt.Key_Right]: dx = Directions.RIGHT.dx if keys[Qt.Key_Up]: dy = Directions.UP.dy elif keys[Qt.Key_Down]: dy = Directions.DOWN.dy self.ship.move(dx, dy) self.bars.tick() self.__check_collision_() def __check_collision_(self): for bar in self.bars.bars: if abs(self.ship.position.y - bar.position.y) < bar.height: if (self.ship.position.x > bar.gap_position.x and self.ship.position.x + self.ship.image.width() < bar.gap_position.x + bar.gap_width): self.score += 1 else: self.game_state = GameState.GAME_OVER def render(self, painter): painter.drawPixmap(QRect(0, 0, self.field_width, self.field_height), self.background) self.ship.render(painter) self.bars.render(painter) painter.setFont(self.font) painter.setPen(QPen(Qt.yellow, 60)) text = "Score: " + str(self.score) painter.drawText(QRectF(0, 0, 300, 100), Qt.AlignLeft | Qt.AlignCenter, text) painter.setPen(QPen(Qt.red, 80)) if self.game_state == GameState.GAME_OVER: painter.drawText(QRectF(0, 0, self.field_width, self.field_height), Qt.AlignLeft | Qt.AlignCenter, "GAME OVER!!!")
def __init__(self, _parent): MToolBar.__init__(self, _parent) _parent.addToolBar(Mt.TopToolBarArea, self) self.setWindowTitle(translate("ToolsBar", "Tools")) self.setObjectName("Tools") self.clearEmptyDirectories = MAction( MIcon("Images:clearEmptyDirectories.png"), translate("ToolsBar", "Clear Empty Directories"), self) self.clearEmptyDirectories.setObjectName("Clear Empty Directories") self.clearEmptyDirectories.setToolTip( translate("ToolsBar", "Clears the folder contents based on the criteria set.")) if uni.isActiveDirectoryCover: self.actCheckIcon = MAction(MIcon("Images:checkIcon.png"), translate("ToolsBar", "Check Icon"), self) self.actCheckIcon.setObjectName("Check Icon") self.actCheckIcon.setToolTip( translate( "ToolsBar", "Checks the icon for the folder you are currently in.")) self.actHash = MAction(MIcon("Images:hash.png"), translate("ToolsBar", "Hash"), self) self.actHash.setObjectName("Hash") self.actHash.setToolTip(translate("ToolsBar", "Hash manager")) self.actPack = MAction(MIcon("Images:pack.png"), translate("ToolsBar", "Pack"), self) self.actPack.setObjectName("Pack") self.actPack.setToolTip( translate("ToolsBar", "Packs the current folder.")) self.actFileTree = MAction(MIcon("Images:fileTree.png"), translate("ToolsBar", "File Tree"), self) self.actFileTree.setObjectName("File Tree") self.actFileTree.setToolTip( translate("ToolsBar", "Get file tree of current folder.")) self.actClear = MAction(MIcon("Images:clear.png"), translate("ToolsBar", "Clear"), self) self.actClear.setObjectName("Clear") self.actClear.setToolTip( translate("ToolsBar", "Clears the current folder.")) self.actTextCorrector = MAction( MIcon("Images:textCorrector.png"), translate("ToolsBar", "Text Corrector"), self) self.actTextCorrector.setObjectName("Text Corrector") self.actTextCorrector.setToolTip( translate("ToolsBar", "Corrects text files.")) self.actRemoveOnlySubFiles = MAction( MIcon("Images:removeOnlySubFiles.png"), translate("ToolsBar", "Remove Sub Files"), self) self.actRemoveOnlySubFiles.setObjectName("Remove Sub Files") self.actRemoveOnlySubFiles.setToolTip( translate( "ToolsBar", "Remove only all sub files.Do not will remove directory and subfolders." )) self.actSearch = MAction(MIcon("Images:search.png"), translate("ToolsBar", "Search"), self) self.actSearch.setObjectName("Search") self.actSearch.setToolTip(translate("ToolsBar", "Special search tool")) self.actScriptManager = MAction( MIcon("Images:scriptManager.png"), translate("ToolsBar", "Script Manager"), self) self.actScriptManager.setObjectName("Script Manager") self.actScriptManager.setToolTip( translate("ToolsBar", "You can do what you want.")) if uni.getBoolValue("isSaveActions"): self.actLastActions = MAction( MIcon("Images:lastActions.png"), translate("ToolsBar", "Show Last Actions"), self) self.actLastActions.setObjectName("Show Last Actions") self.actLastActions.setToolTip( translate("ToolsBar", "You can see last actions.")) if uni.isActiveAmarok and uni.getBoolValue("amarokIsUseHost") is False: self.actAmarokEmbeddedDBConfigurator = MAction( MIcon("Images:amarokEmbeddedDBConfigurator.png"), translate("ToolsBar", "Amarok Embedded Database Configurator"), self) self.actAmarokEmbeddedDBConfigurator.setObjectName( "Amarok Embedded Database Configurator") self.actAmarokEmbeddedDBConfigurator.setToolTip( translate("ToolsBar", "Packs the current folder.")) self.addAction(self.actHash) self.addAction(self.actPack) self.addAction(self.actFileTree) self.addAction(self.actClear) self.addAction(self.actTextCorrector) self.addAction(self.actSearch) self.addAction(self.actScriptManager) if uni.getBoolValue("isSaveActions"): self.addAction(self.actLastActions) if uni.isActiveAmarok and uni.getBoolValue("amarokIsUseHost") is False: self.addAction(self.actAmarokEmbeddedDBConfigurator) self.addSeparator() self.addAction(self.clearEmptyDirectories) self.addAction(self.actRemoveOnlySubFiles) if uni.isActiveDirectoryCover: self.addAction(self.actCheckIcon) self.setIconSize(MSize(16, 16)) getMainWindow().Menu.mTools = MMenu(translate("MenuBar", "Tools"), self) getMainWindow().Menu.mTools.setObjectName("Tools") getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actHash)) getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actPack)) getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actFileTree)) getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actClear)) getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actTextCorrector)) getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actSearch)) getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actScriptManager)) if uni.getBoolValue("isSaveActions"): getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actLastActions)) if uni.isActiveAmarok and uni.getBoolValue("amarokIsUseHost") is False: getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actAmarokEmbeddedDBConfigurator)) getMainWindow().Menu.mTools.addSeparator() getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.clearEmptyDirectories)) getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actRemoveOnlySubFiles)) if uni.isActiveDirectoryCover: getMainWindow().Menu.mTools.addAction( Bars.getCopyOfMAction(self.actCheckIcon)) getMainWindow().Menu.insertMenu( getMainWindow().Menu.mSettings.menuAction(), getMainWindow().Menu.mTools) self.createScriptsMenu(_parent) MObject.connect(self, SIGNAL("actionTriggered(QAction *)"), Bars.clickedAnAction)
def __init__(self, _parent): MToolBar.__init__(self, _parent) _parent.addToolBar(Mt.TopToolBarArea, self) self.setWindowTitle(translate("ToolsBar", "Tools")) self.setObjectName("Tools") self.clearEmptyDirectories = MAction(MIcon("Images:clearEmptyDirectories.png"), translate("ToolsBar", "Clear Empty Directories"), self) self.clearEmptyDirectories.setObjectName("Clear Empty Directories") self.clearEmptyDirectories.setToolTip( translate("ToolsBar", "Clears the folder contents based on the criteria set.")) if uni.isActiveDirectoryCover: self.actCheckIcon = MAction(MIcon("Images:checkIcon.png"), translate("ToolsBar", "Check Icon"), self) self.actCheckIcon.setObjectName("Check Icon") self.actCheckIcon.setToolTip(translate("ToolsBar", "Checks the icon for the folder you are currently in.")) self.actHash = MAction(MIcon("Images:hash.png"), translate("ToolsBar", "Hash"), self) self.actHash.setObjectName("Hash") self.actHash.setToolTip(translate("ToolsBar", "Hash manager")) self.actPack = MAction(MIcon("Images:pack.png"), translate("ToolsBar", "Pack"), self) self.actPack.setObjectName("Pack") self.actPack.setToolTip(translate("ToolsBar", "Packs the current folder.")) self.actFileTree = MAction(MIcon("Images:fileTree.png"), translate("ToolsBar", "File Tree"), self) self.actFileTree.setObjectName("File Tree") self.actFileTree.setToolTip(translate("ToolsBar", "Get file tree of current folder.")) self.actClear = MAction(MIcon("Images:clear.png"), translate("ToolsBar", "Clear"), self) self.actClear.setObjectName("Clear") self.actClear.setToolTip(translate("ToolsBar", "Clears the current folder.")) self.actTextCorrector = MAction(MIcon("Images:textCorrector.png"), translate("ToolsBar", "Text Corrector"), self) self.actTextCorrector.setObjectName("Text Corrector") self.actTextCorrector.setToolTip(translate("ToolsBar", "Corrects text files.")) self.actRemoveOnlySubFiles = MAction(MIcon("Images:removeOnlySubFiles.png"), translate("ToolsBar", "Remove Sub Files"), self) self.actRemoveOnlySubFiles.setObjectName("Remove Sub Files") self.actRemoveOnlySubFiles.setToolTip( translate("ToolsBar", "Remove only all sub files.Do not will remove directory and subfolders.")) self.actSearch = MAction(MIcon("Images:search.png"), translate("ToolsBar", "Search"), self) self.actSearch.setObjectName("Search") self.actSearch.setToolTip(translate("ToolsBar", "Special search tool")) self.actScriptManager = MAction(MIcon("Images:scriptManager.png"), translate("ToolsBar", "Script Manager"), self) self.actScriptManager.setObjectName("Script Manager") self.actScriptManager.setToolTip(translate("ToolsBar", "You can do what you want.")) if uni.getBoolValue("isSaveActions"): self.actLastActions = MAction(MIcon("Images:lastActions.png"), translate("ToolsBar", "Show Last Actions"), self) self.actLastActions.setObjectName("Show Last Actions") self.actLastActions.setToolTip(translate("ToolsBar", "You can see last actions.")) if uni.isActiveAmarok and uni.getBoolValue("amarokIsUseHost") is False: self.actAmarokEmbeddedDBConfigurator = MAction(MIcon("Images:amarokEmbeddedDBConfigurator.png"), translate("ToolsBar", "Amarok Embedded Database Configurator"), self) self.actAmarokEmbeddedDBConfigurator.setObjectName("Amarok Embedded Database Configurator") self.actAmarokEmbeddedDBConfigurator.setToolTip(translate("ToolsBar", "Packs the current folder.")) self.addAction(self.actHash) self.addAction(self.actPack) self.addAction(self.actFileTree) self.addAction(self.actClear) self.addAction(self.actTextCorrector) self.addAction(self.actSearch) self.addAction(self.actScriptManager) if uni.getBoolValue("isSaveActions"): self.addAction(self.actLastActions) if uni.isActiveAmarok and uni.getBoolValue("amarokIsUseHost") is False: self.addAction(self.actAmarokEmbeddedDBConfigurator) self.addSeparator() self.addAction(self.clearEmptyDirectories) self.addAction(self.actRemoveOnlySubFiles) if uni.isActiveDirectoryCover: self.addAction(self.actCheckIcon) self.setIconSize(MSize(16, 16)) getMainWindow().Menu.mTools = MMenu(translate("MenuBar", "Tools"), self) getMainWindow().Menu.mTools.setObjectName("Tools") getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actHash)) getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actPack)) getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actFileTree)) getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actClear)) getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actTextCorrector)) getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actSearch)) getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actScriptManager)) if uni.getBoolValue("isSaveActions"): getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actLastActions)) if uni.isActiveAmarok and uni.getBoolValue("amarokIsUseHost") is False: getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actAmarokEmbeddedDBConfigurator)) getMainWindow().Menu.mTools.addSeparator() getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.clearEmptyDirectories)) getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actRemoveOnlySubFiles)) if uni.isActiveDirectoryCover: getMainWindow().Menu.mTools.addAction(Bars.getCopyOfMAction(self.actCheckIcon)) getMainWindow().Menu.insertMenu(getMainWindow().Menu.mSettings.menuAction(), getMainWindow().Menu.mTools) self.createScriptsMenu(_parent) MObject.connect(self, SIGNAL("actionTriggered(QAction *)"), Bars.clickedAnAction)
''' print('*'*num) def hashbar(num): ''' 打印#分割线 :arg:num线长 ''' print('#'*num) # %% '''模块:python定义和声明的文件''' import Bars Bars.hashbar(5) from Bars import starbar starbar(4) # %% '''包:含__init__.py的目录,所有.py文件均为子模块''' from mymodule.Bars import starbar starbar(6) # %% '''