def makeConnections(self, MainWindow): # mapping main window close event MainWindow.closeEvent = self.saveSettings # setting a fixed size for main window MainWindow.setFixedSize(458, 433) # setting up icon for main window icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("icons/usb.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) # setting up icon for refresh button icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("icons/refresh.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.ui.refresh_device.setIcon(icon) # mapping all buttons self.ui.refresh_device.clicked.connect(self.searchDevices) self.ui.open_ducky.clicked.connect(self.openDuckyScript) self.ui.start_process.clicked.connect(self.startCreatingFiles) self.ui.actionHow_To_Use.triggered.connect(lambda _: webbrowser.open( "https://github.com/360modder/winurd", new=2)) self.ui.actionAbout_Winurd.triggered.connect( lambda _: self.aboutWinurd()) self.ui.actionAbout_Qt.triggered.connect( lambda _: QApplication.aboutQt()) self.ui.actionDucky_To_Python.triggered.connect( lambda _: DuckyToPythonWindowObj.show()) self.ui.actionLaunch_Listner.triggered.connect( lambda _: os.system("start ../bin/winurd_listner_console.exe")) self.ui.actionReset_Settings.triggered.connect( lambda _: self.resetSettings()) # moving main window to center qr = QtCore.QRect(0, 0, 458, 433) cp = QtWidgets.QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) MainWindow.move(qr.topLeft()) # setting self translate variable self.ui._translate = QtCore.QCoreApplication.translate # searching for available devices threading.Thread(target=self.searchDevices).start()
def show_about_qt(self): QApplication.aboutQt()
def on_actionAbout_Qt_triggered(self): """ Slot documentation goes here. """ QApplication.aboutQt()
def _aboutQt(self): #import ipdb; ipdb.set_trace() QApplication.aboutQt()
import sys from PyQt5.QtWidgets import QApplication, QWidget if __name__ == '__main__': app = QApplication(sys.argv) QApplication.aboutQt() w = QWidget() w.resize(800, 600) w.setWindowTitle("Python Qt Test") w.show() sys.exit(app.exec_())
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()