| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import sys
- import os
- from PyQt5 import QtWidgets
- from PyQt5.QtCore import QSettings, Qt
- from FlatCAMApp import App
- from flatcamGUI import VisPyPatches
- from multiprocessing import freeze_support
- # import copyreg
- # import types
- if sys.platform == "win32":
- # cx_freeze 'module win32' workaround
- pass
- def debug_trace():
- """
- Set a tracepoint in the Python debugger that works with Qt
- :return: None
- """
- from PyQt5.QtCore import pyqtRemoveInputHook
- # from pdb import set_trace
- pyqtRemoveInputHook()
- # set_trace()
- if __name__ == '__main__':
- # All X11 calling should be thread safe otherwise we have strange issues
- # QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_X11InitThreads)
- # NOTE: Never talk to the GUI from threads! This is why I commented the above.
- freeze_support()
- # Supported Python version is >= 3.5
- if sys.version_info.major >= 3:
- if sys.version_info.minor >= 5:
- pass
- else:
- print("FlatCAM BETA uses PYTHON 3. The version minimum is 3.5\n"
- "Your Python version is: %s" % str(sys.version_info))
- os._exit(0)
- else:
- print("FlatCAM BETA uses PYTHON 3. The version minimum is 3.5\n"
- "Your Python version is: %s" % str(sys.version_info))
- os._exit(0)
- debug_trace()
- VisPyPatches.apply_patches()
- # apply High DPI support
- settings = QSettings("Open Source", "FlatCAM")
- if settings.contains("hdpi"):
- hdpi_support = settings.value('hdpi', type=int)
- else:
- hdpi_support = 0
- if hdpi_support == 2:
- os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "1"
- else:
- os.environ["QT_AUTO_SCREEN_SCALE_FACTOR"] = "0"
- # if hdpi_support == 2:
- # tst_screen = QtWidgets.QApplication(sys.argv)
- # if tst_screen.screens()[0].geometry().width() > 1930 or tst_screen.screens()[1].geometry().width() > 1930:
- # QGuiApplication.setAttribute(Qt.AA_EnableHighDpiScaling, True)
- # del tst_screen
- # else:
- # QGuiApplication.setAttribute(Qt.AA_EnableHighDpiScaling, False)
- if hdpi_support == 2:
- QtWidgets.QApplication.setAttribute(Qt.AA_EnableHighDpiScaling, True)
- else:
- QtWidgets.QApplication.setAttribute(Qt.AA_EnableHighDpiScaling, False)
- app = QtWidgets.QApplication(sys.argv)
- # apply style
- settings = QSettings("Open Source", "FlatCAM")
- if settings.contains("style"):
- style = settings.value('style', type=str)
- app.setStyle(style)
- fc = App()
- # sys.exit(app.exec_())
- app.exec_()
|