Example #1
0
 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()
Example #2
0
 def show_about_qt(self):
     QApplication.aboutQt()
Example #3
0
 def on_actionAbout_Qt_triggered(self):
     """
     Slot documentation goes here.
     """
     QApplication.aboutQt()
Example #4
0
 def _aboutQt(self):
     #import ipdb; ipdb.set_trace()
     QApplication.aboutQt()
Example #5
0
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_())
Example #6
0
    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()