def enter_whatsthis_mode(self): QWhatsThis.enterWhatsThisMode()
def __whatsThis(self): """ Private slot called in to enter Whats This mode. """ QWhatsThis.enterWhatsThisMode()
def MenuEvents(self, event): if event.text() == _('新建'): self.add_editor_window() elif event.text() == _('打开'): self.open_file() elif event.text() == _('关闭所有窗口'): self.windows_mdi.closeAllSubWindows() elif event.text() == _('排列子窗口'): self.windows_mdi.tileSubWindows() elif event.text() == _('设置'): self.open_config_dialog_window() elif event.text() == _('退出TkPy3'): res = QMessageBox.question(self, _('TkPy3 - 问题'), _('是否退出TkPy3?'), QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if res == QMessageBox.Yes: self.close() elif event.text() == _('格式化代码'): if self.window_mdi_activate_is_pyshell(): return self.windows_mdi.activeSubWindow().widget().autopep8_fix_code() elif event.text() in [_('保存'), _('另存为')]: if self.window_mdi_activate_is_pyshell(): return window = self.windows_mdi.activeSubWindow() widget = window.widget() if widget.file_name and event.text() != _('另存为'): file_name, ok = widget.file_name, True else: file_name, ok = QFileDialog.getSaveFileName( self, event.text(), '', all_file_types) if ok: widget.save_file(file_name) elif event.text() == _('关于TkPy3'): QMessageBox.information( self, _('关于TkPy3'), f"""TkPy3一个使用PyQt5制作的TkPy IDE TkPy3: {__version__} PyQt5: {PYQT_VERSION_STR} TkPy3官网: https://github.com/chenmy1903/TkPy3 TkPy3激活: 激活到期时间: {get_configs()['end_activate_day'] if not isinstance(get_configs()['end_activate_day'], bool) else _("永久激活")} ----------------------------------- {__author__} ©2020 All Rights Reserved. """) elif event.text() == _('TkPy3的依赖'): dialog = RelyDialog() dialog.exec_() elif event.text() == _('打开TkPy3的官方网站'): open_tkpy3_web_page() elif event.text() == _('安装TkPy3的所有依赖'): dialog = InstallDialog() dialog.exec_() elif event.text() == _('运行'): if self.window_mdi_activate_is_pyshell(): return window = self.windows_mdi.activeSubWindow() widget = window.widget() self.MenuEvents(TkPyEventType(_('保存'))) if widget.file_name: widget.run() elif event.text() == _('运行模块'): res, ok = QInputDialog.getText(self, '运行模块', '请输入模块名:') if ok: run_module(res) elif event.text() == _('粘贴'): window = self.windows_mdi.activeSubWindow() widget = window.widget() text = widget.text text.paste() elif event.text() == _('复制'): window = self.windows_mdi.activeSubWindow() widget = window.widget() text = widget.text text.copy() elif event.text() == _('剪切'): window = self.windows_mdi.activeSubWindow() widget = window.widget() text = widget.text text.cut() elif event.text() == _('撤销'): window = self.windows_mdi.activeSubWindow() widget = window.widget() text = widget.text text.undo() elif event.text() == _('撤回'): window = self.windows_mdi.activeSubWindow() widget = window.widget() text = widget.text text.redo() elif event.text() == _('选择全部'): window = self.windows_mdi.activeSubWindow() widget = window.widget() text = widget.text text.selectAll() elif event.text() == _('关于PyQt5'): QApplication.aboutQt() elif event.text() == _('Markdown转Html'): dialog = PyQt5MarkdownDialog() dialog.exec_() elif event.text() == _('重启TkPy3'): self.restart_window() elif event.text() == _('报告Bug'): bug_report_window = BugReportWindow() bug_report_window.exec_() elif event.text() == _('打开Python Shell'): self.open_python_shell() elif event.text() == _('报告TkPy3的功能改进'): NewFunctionReportWindow().exec_() elif event.text() == _('关闭所有子窗口'): self.windows_mdi.closeAllSubWindows() self.not_save_list = [] elif event.text() == _('重新激活TkPy3'): self.assert_activate(True) elif event.text() == _('重置TkPy3的设置'): res = QMessageBox.question(self, _('问题'), _('是否重置所有设置')) if res == QMessageBox.Yes: reset_configs() QMessageBox.information(self, _('提示'), _('重置完成。')) elif event.text() == _('打开终端'): os.system('start cmd /C' + os.path.join(sys.exec_prefix, "python.exe") + ' -m IPython "' + os.path.join( BASE_DIR, 'SystemTemplates/run_terminal_script.py') + '"') elif event.text() == _('保存所有文件'): self.save_files() elif event.text() == _('帮助'): TkPyHelpWidget().exec_() elif event.text() == _('转到行'): if self.window_mdi_activate_is_pyshell(): return text = self.windows_mdi.activeSubWindow().widget().text max_line = len(text.text().split('\n')) at_line = text.getCursorPosition()[0] + 1 line, ok = QInputDialog.getInt(self, _('转到行'), _('请输入行号: '), at_line, 1, max_line) if ok: text.goto_line(line) elif event.text() == _('给TkPy3点个Star'): dialog = StarDialog() dialog.exec_() elif event.text() == _('TkPy3的Github官网'): webbrowser.open(tkpy3_github_url) elif event.text() == _('重新打开文件'): if self.window_mdi_activate_is_pyshell(): return widget = self.windows_mdi.activeSubWindow().widget() if widget.file_name: if widget.file_name in self.not_save_list: res = QMessageBox.question( self, _('问题'), _('文件未保存,是否保存后重新打开文件?'), QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel) if res == QMessageBox.Yes: widget.save_file(widget.file_name) elif res == QMessageBox.Cancel: return widget.save.emit() widget.open(widget.file_name) elif event.text() == _('打开Python包帮助'): PythonPackageHelpDialog().exec() elif event.text() == _('排列Import 语句'): if self.window_mdi_activate_is_pyshell(): return widget = self.windows_mdi.activeSubWindow().widget() widget.sort_imports() elif event.text() == _('Qt文件预览'): dialog = QtUiFileView() dialog.exec_() elif event.text() == _('这是什么'): QWhatsThis.enterWhatsThisMode()