FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabic Belarusian Catalan Czech German Greek Spanish Spanish Basque Finnish Filipino French Galician Croatian Hungarian Indonesian Italian Japanese Kabyle Korean Lithuanian Dutch Norwegian Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbian Swedish Turkish Ukrainian Valencian Vietnamese Chinese Chinese
  • Features
  • Download
  • Blog
  • Documentation
    Documentation index Getting started Users documentation The FreeCAD manual Workbenches documentation Python coding documentation C++ coding documentation Tutorials Frequently asked questions Privacy policy About FreeCAD
  • Contribute
    How to help Sponsor Report a bug Make a pull request Jobs and funding Contribution guidelines Developers handbook Translations
  • Community
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA Information
Please set up your SEPA bank transfer to:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Bank agency: BNP Paribas Fortis
Address: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Qt Example

{{Macro |Name=Macro Qt Example |Icon=MEPlan.png |Description=It describes Qt commands. |Author=Mario52 |Version=0.4 |Date=2019-06-19 |FCVersion=All |Download=
[https://www.freecadweb.org/wiki/https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/a/a7/MEpipe01.png MEpipe01]
[https://www.freecadweb.org/wiki/https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/5/5b/MEpipe02.png MEpipe02]
[https://www.freecadweb.org/wiki/https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/e/e4/MEPlan.png MEPlan]
[https://www.freecadweb.org/wiki/https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/3/30/MEPlanD.png MEPlanD]
[https://www.freecadweb.org/wiki/https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/d/d8/MEPlanF.png MEPlanF]
[https://www.freecadweb.org/wiki/https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/9/9f/MEPlanT.png MEPlanT]
[https://www.freecadweb.org/wiki/https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/f/f2/MEPlanI.png MEPlanI]
[https://www.freecadweb.org/wiki/https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/e/e6/MEPlanFC.png MEPlanFC]
[https://www.freecadweb.org/wiki/https://raw.githubusercontent.com/FreeCAD/FreeCAD-documentation/master/wiki/images/d/d2/MEPlanPY.png MEPlanPY] |SeeAlso=Dialog creation }}

This macro is an example of using Qt commands their connections, extraction and data assignment.

Image:Qt_Example_00.png|Qt example Image:Qt_Example_01.png|Qt example details

Are treated:

  1. icon for window : The icon displayed on main window
  2. horizontalSlider : horizontal slider its connection and data extraction / assignment
  3. progressBar horizontal : progress bar horizontal its connection and data extraction / assignment
  4. verticalSlider : vertical slider its connection and data extraction / assignment
  5. progressBar vertical : progress bar vertical its connection and data extraction / assignment
  6. lineEdit : line edit its connection and data extraction / assignment
  7. lineEdit : line edit its connection and data extraction / assignment
  8. doubleSpinBox : double spinbox its connection and data extraction / assignment
  9. doubleSpinBox :
  10. doubleSpinBox :
  11. button : button its connection
  12. button :
  13. radioButton : radio button with icons its connection and checked
  14. checkBox : checkbox with icon its connection checked and unchecked
  15. textEdit : text edit its connection and data extraction / assignment
  16. graphicsView : graphic view with 2 graphs and method used for change image

The tools used are:

python-2.7.8

PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32

For convert the file .ui in .py you must uses pyuic.py is located in \"C:\Python27\Lib\site-packages\PyQt4\uic\pyuic.py\" (for Windows)

you can create a convertuitopy.bat file to automate the process:

1: Create a new file in your Qt working directory and name it convertuitopy.bat

2: Edit the file and paste this line there

@\"C:\Python27\python\" \"C:\Python27\Lib\site-packages\PyQt4\uic\pyuic.py\" -x %1.ui > %1.py

3: then in a Dos console type convertuitopy myproject (Do not give extension the command automatically adds)

4: monprojet.py your file is created

The icons used

You must copy and paste the images in the same directory as the macro, here:

Linux : \"home/user/.FreeCAD/Macro\"

Windows : \"C:\Users\UserName\AppData\Roaming\FreeCAD\Macro\"

Script

The contents of the file Qt_Example.FCMacro are given below:

{{MacroCode|code=

-- coding: utf-8 --

"""


  • Copyright (c) 2015 2017 2019 *
  • This file is a supplement to the FreeCAD CAx development system. *
  • This program is free software; you can redistribute it and/or modify *
  • it under the terms of the GNU Lesser General Public License (LGPL) *
  • as published by the Free Software Foundation; either version 2 of *
  • the License, or (at your option) any later version. *
  • for detail see the LICENCE text file. *
  • This software is distributed in the hope that it will be useful, *
  • but WITHOUT ANY WARRANTY; without even the implied warranty of *
  • MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
  • GNU Library General Public License for more details. *
  • You should have received a copy of the GNU Library General Public *
  • License along with this macro; if not, write to the Free Software *
  • Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
  • USA *
  • WARNING! All changes in this file will be lost and *
  • may cause malfunction of the program *

    """

    this macro is made with Python 2.7 and Qt 4.8.7

    the modules used hare :

    python-2.7.8.msi # https://www.python.org/downloads/

    PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe # https://riverbankcomputing.com/software/pyqt/download

    FreeCAD

    OS: Windows 8 # OS: Windows 10 # OS: Windows 10 (10.0)

    Word size of OS: 64-bit # Word size of OS: 64-bit # Word size of OS: 64-bit

    Word size of FreeCAD: 64-bit # Word size of FreeCAD: 64-bit # Word size of FreeCAD: 64-bit

    Version: 0.15.4671 (Git) # Version: 0.16.6706 (Git) # Version: 0.19.16624 (Git)

    "Branch: releases/FreeCAD-0-15 # Build type: Release # Build type: Release

    Hash: 244b3aef360841646cbfe80a1b225c8b39c8380c # Branch: releases/FreeCAD-0-16 # Branch: master

    Python version: 2.7.8 # Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0# Hash: 222ae7305fdf1097e4ef3d050f69dff47dbd8786

    Qt version: 4.8.6 # Python version: 2.7.8 # Python version: 3.6.8

    Coin version: 4.0.0a # Qt version: 4.8.7 # Qt version: 5.12.1

    OCC version: 6.8.0.oce-0.17 # Coin version: 4.0.0a # Coin version: 4.0.0a

    # OCC version: 6.8.0.oce-0.17 # OCC version: 7.3.0

    this macro is an example of use some buttons and connection :

    ** is a connection references lines ****

    horizontalScrollBar lines 151 to 161, 431, 432, 642

    def on_horizontal_scrolling(self, val_X): #connection lines 161, 526, 531

    verticalScrollBar lines 163 to 173, 393, 394, 433, 643

    def on_vertical_scrolling(self, val_Y): #connection lines 173, 534, 539

    horizontalSlider lines 174 to 181, 575, 577, 644

    def on_horizontal_slider(self, val_X): #connection lines 181, 542, 553

    verticalSlider lines 183 to 188, 593, 595, 645

    def on_vertical_slider(self, val_Y): #connection lines 188, 556, 564

    progressBar

    progressBar_1_Red lines 190 to 199, 533, 548, 579

    progressBar_1_Green lines 205 to 214, 552, 583

    progressBar_1_Blue lines 217 to 228, 553, 584

    progressBar_1_gradient lines 230 to 242, 554, 585

    progressBar_2 lines 244 to 252, 540, 565, 600

lineEdit

lineEdit_1 lines 256 to 262, 455, 531, 550, 644

def on_lineEdit_1_Pressed(self): #connection lines 261, 262, 572

lineEdit_2 lines 264 to 270, 458, 539, 564, 645

def on_lineEdit_2_Pressed(self): #connection lines 269, 270, 590

doubleSpinBox

doubleSpinBox_1 lines 272 to 279, 461, 462, 641

def on_doubleSpinBox_1_valueChanged(self,echelle): #connection lines 279, 674

doubleSpinBox_2 lines 281 to 287, 464, 465, 642

def on_doubleSpinBox_2_valueChanged(self,angle): #connection lines 287, 681

doubleSpinBox_3 lines 289 to 295, 467, 468, 643

def on_doubleSpinBox_3_valueChanged(self,epaisseur): #connection lines 295, 687

pushButton

pushButton_1 lines 297 to 301, 450, 451, 631, 663, 670

def on_pushButton_1_clicked(self): #connection lines 301, 636

pushButton_2 lines 303 to 307, 452, 453

def on_pushButton_2_clicked(self): #connection lines 307, 627

groupBox lines 309 to 312, 315, 326, 336, 346, 356, 439

radioButton

radioButton_1 lines 315 to 323, 440, 441, 486, 487, 651

def on_radioButton_1_clicked(self): #connection lines 323, 482

radioButton_2 lines 325 to 333, 442, 443, 494, 495

def on_radioButton_2_clicked(self): #connection lines 333, 490

radioButton_3 lines 335 to 343, 444, 445, 501, 502

def on_radioButton_3_clicked(self): #connection lines 343, 498

radioButton_4 lines 345 to 353, 446, 447, 509, 510

def on_radioButton_4_clicked(self): #connection lines 353, 505

checkBox

checkBox_1 lines 355 to 364, 448, 449, 610, 614, 615, 621, 622, 652, 655

def on_checkBox_1_clicked(self): #connection lines 360, 606

textEdit

textEdit lines 391 to 399, 534, 542, 556, 567, 650, 695

def on_textEdit_Changed(self): #connection lines 399, 694

graphicsView lines 401 to 410, 662, 669

title = "Examples_QT " author = "mario52" version = "00.04" date = "14/06/2019"

url = "http://www.freecadweb.org/index-fr.html" Comment = "Example make and use buttom and . . . ." Communication = "http://www.freecadweb.org/wiki/index.php?title=User:Mario52" IconL = "home/user/.FreeCAD" IconW = "C:/Users/Mario/AppData/Roaming/FreeCAD/Macro"

import PySide from PySide import QtCore, QtGui

from PySide.QtGui import qApp, QApplication, QGridLayout, QLineEdit, QPushButton, QTextBrowser, QWidget, QProgressBar

global switch ; switch = 0

global path

path = FreeCAD.ConfigGet("AppHomePath") # path FreeCAD installation

path = FreeCAD.ConfigGet("UserAppData") # path FreeCAD User data

path = "your path" # your directory path

param = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Macro")# macro path path = param.GetString("MacroPath","") + "/" # macro path path = path.replace("\","/") # convert the "\" to "/" print( "Path for the icons : " , path ) #

try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s

try: _encoding = QtGui.QApplication.UnicodeUTF8 def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig, _encoding) except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig)

class Ui_MainWindow(object): def setupUi(self, MainWindow): self.window = MainWindow global switch

    MainWindow.setObjectName(_fromUtf8("MainWindow"))
    MainWindow.resize(400, 450)
    MainWindow.setMinimumSize(QtCore.QSize(400, 450))
    MainWindow.setMaximumSize(QtCore.QSize(400, 450))
    self.widget = QtGui.QWidget(MainWindow)
    self.widget.setObjectName(_fromUtf8("widget"))

section horizontalScrollBar (same Slider)

self.horizontalScrollBar = QtGui.QScrollBar(self.widget) # create horizontalScrollBar

self.horizontalScrollBar.setGeometry(QtCore.QRect(64, 5, 302, 16)) # coordinates position

#self.horizontalScrollBar.setMinimum(-100) # minimum value

self.horizontalScrollBar.setMaximum(100) # maximum value

#self.horizontalScrollBar.setSingleStep(3) # here step 3 ..

self.horizontalScrollBar.setValue( 5) # value by default

self.horizontalScrollBar.setOrientation(QtCore.Qt.Horizontal) # orientation Horizontal

#self.horizontalScrollBar.setInvertedAppearance(True) # displacement rigth to left or left to rigth value "True" or "False"

self.horizontalScrollBar.setObjectName(_fromUtf8("horizontalScrollBar")) # object Name

self.horizontalScrollBar.valueChanged.connect(self.on_horizontal_scrolling) # connect on "def on_horizontal_scrolling:" for execute action

section verticalScrollBar

self.verticalScrollBar = QtGui.QScrollBar(self.widget) # create verticalScrollBar

self.verticalScrollBar.setGeometry(QtCore.QRect(20, 44, 20, 250)) # coordinates position

#self.verticalScrollBar.setMinimum(-100) # minimum value

self.verticalScrollBar.setMaximum(100) # maximum value

#self.verticalScrollBar.setSingleStep(3) # here step 3 .. degault 1

self.verticalScrollBar.setValue(5) # value by default

self.verticalScrollBar.setOrientation(QtCore.Qt.Vertical) # orientation Vertical

self.verticalScrollBar.setInvertedAppearance(True) # displacement top to bottom or botton to top value "True" or "False"

self.verticalScrollBar.setObjectName(_fromUtf8("verticalScrollBar")) # object Name

self.verticalScrollBar.valueChanged.connect(self.on_vertical_scrolling) # connect on "def on_vertical_scrolling:" for execute action

section horizontalSlider

    self.horizontalSlider = QtGui.QSlider(self.widget)                                  # create horizontalSlider
    self.horizontalSlider.setGeometry(QtCore.QRect(64, 5, 302, 16))                     # coordinates position
    self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)                          # orientation Horizontal
    self.horizontalSlider.setInvertedAppearance(False)                                  # displacement rigth to left or left to rigth value "True" or "False"
    self.horizontalSlider.setObjectName(_fromUtf8("horizontalSlider"))                  # object Name
    self.horizontalSlider.valueChanged.connect(self.on_horizontal_slider)               # connect on "def on_horizontal_slider:" for execute action

section verticalSlider

    self.verticalSlider = QtGui.QSlider(self.widget)                                    # create verticalSlider
    self.verticalSlider.setGeometry(QtCore.QRect(20, 44, 20, 365))                      # coordinates position
    self.verticalSlider.setOrientation(QtCore.Qt.Vertical)                              # orientation Vertical
    self.verticalSlider.setObjectName(_fromUtf8("verticalSlider"))                      # object Name
    self.verticalSlider.valueChanged.connect(self.on_vertical_slider)                   # connect on "def on_vertical_slider:" for execute action

section progressBar 1 Red

    self.progressBar_1_Red = QtGui.QProgressBar(self.widget)                            # create object progressBar_1
    self.progressBar_1_Red.setGeometry(QtCore.QRect(60, 21, 315, 23))                   # coordinates position
    self.progressBar_1_Red.setValue(0)                                                  # value by default
    self.progressBar_1_Red.setOrientation(QtCore.Qt.Horizontal)                         # orientation Horizontal
    self.progressBar_1_Red.setAlignment(QtCore.Qt.AlignCenter)                          # align text center
    self.progressBar_1_Red.setObjectName(_fromUtf8("progressBar_1_Red"))                # object Name
    self.progressBar_1_Red.setToolTip(_translate("MainWindow", "progressBar_1_Red for lineEdit 1 and horizontal ScrollBar", None)) # tooltip for explanation
                                                                                        # a tooltip can be set to all objects
    self.progressBar_1_Red.setStyleSheet("QProgressBar {color:black; }"
                                          "QProgressBar:chunk {background-color: #FF0000;}") # modify the progressBar color 

section progressBar 1 Green

    self.progressBar_1_Green = QtGui.QProgressBar(self.widget)                          # create object progressBar_1
    self.progressBar_1_Green.setGeometry(QtCore.QRect(60, 51, 315, 23))                 # coordinates position
    self.progressBar_1_Green.setValue(0)                                                # value by default
    self.progressBar_1_Green.setOrientation(QtCore.Qt.Horizontal)                       # orientation Horizontal
    self.progressBar_1_Green.setAlignment(QtCore.Qt.AlignCenter)                        # align text center
    self.progressBar_1_Green.setObjectName(_fromUtf8("progressBar_1_Green"))            # object Name
    self.progressBar_1_Green.setToolTip(_translate("MainWindow", "progressBar_1_Green for lineEdit 1 and horizontal ScrollBar", None)) # tooltip for explanation
                                                                                        # a tooltip can be set to all objects
    self.progressBar_1_Green.setStyleSheet("QProgressBar {color:black; }"
                                          "QProgressBar:chunk {background-color: #00FF00;}") # modify the progressBar color 

section progressBar 1 Blue

    self.progressBar_1_Blue = QtGui.QProgressBar(self.widget)                           # create object progressBar_1
    self.progressBar_1_Blue.setGeometry(QtCore.QRect(60, 81, 315, 23))                  # coordinates position
    self.progressBar_1_Blue.setValue(0)                                                 # value by default
    self.progressBar_1_Blue.setOrientation(QtCore.Qt.Horizontal)                        # orientation Horizontal
    self.progressBar_1_Blue.setAlignment(QtCore.Qt.AlignCenter)                         # align text center
    self.progressBar_1_Blue.setObjectName(_fromUtf8("progressBar_1_Blue"))              # object Name
    self.progressBar_1_Blue.setToolTip(_translate("MainWindow", "progressBar_1_Blue for lineEdit 1 and horizontal ScrollBar", None)) # tooltip for explanation
                                                                                        # a tooltip can be set to all objects
    self.progressBar_1_Blue.setStyleSheet(
         "QProgressBar {color:black; text-align:right; padding:2px; border-radius: 5px;}" # modify the progressBar color and display
         "QProgressBar:chunk {background-color: #0000FF; width: 10px; margin-left:2px;}")

section progressBar 1 gradient

    self.progressBar_1_gradient = QtGui.QProgressBar(self.widget)                       # create object progressBar_1
    self.progressBar_1_gradient.setGeometry(QtCore.QRect(60, 110, 315, 23))             # coordinates position
    self.progressBar_1_gradient.setValue(0)                                             # value by default
    self.progressBar_1_gradient.setOrientation(QtCore.Qt.Horizontal)                    # orientation Horizontal
    self.progressBar_1_gradient.setAlignment(QtCore.Qt.AlignCenter)                     # align text center
    self.progressBar_1_gradient.setObjectName(_fromUtf8("progressBar_1_gradient"))      # object Name
    self.progressBar_1_gradient.setToolTip(_translate("MainWindow", "progressBar_1_gradient for lineEdit 1 and horizontal ScrollBar", None)) # tooltip for explanation
                                                                                        # a tooltip can be set to all objects
    ##http://pyqt.sourceforge.net/Docs/PyQt4/qlineargradient.html
    self.progressBar_1_gradient.setStyleSheet(
         "QProgressBar {color:red; text-align:right; padding:1px; }"                    # modify the progressBar color and display
         "QProgressBar:chunk {text-align: center; background: qlineargradient(x1: 0, y1: 0.5, x2: 1, y2: 0.5, stop: 0 #FFFF00, stop: 1 #00FFFF);}")

section progressBar 2

    self.progressBar_2 = QtGui.QProgressBar(self.widget)                                # create object progressBar_2
    self.progressBar_2.setGeometry(QtCore.QRect(40, 44, 20, 365))                       # coordinates position
    self.progressBar_2.setValue(0)                                                      # value by default
    self.progressBar_2.setOrientation(QtCore.Qt.Vertical)                               # position Vertical
    self.progressBar_2.setAlignment(QtCore.Qt.AlignCenter)                              # align text center (not text displayed ?)
    self.progressBar_2.setOrientation(QtCore.Qt.Vertical)                               # orientation Vertical
    self.progressBar_2.setObjectName(_fromUtf8("progressBar_2"))                        # progressBar 2 Y Vertical
    self.progressBar_2.setToolTip(_translate("MainWindow", "progressBar_2 for lineEdit 2 and vertical ScrollBar", None)) # tooltip for explanation
                                                                                        # a tooltip can be set to all objects

section lineEdit 1

    self.lineEdit_1 = QtGui.QLineEdit(self.widget)                                      # create object lineEdit_1
    self.lineEdit_1.setGeometry(QtCore.QRect(70, 150, 60, 22))                          # coordinates position
    self.lineEdit_1.setObjectName(_fromUtf8("lineEdit_1"))                              # name of object
    self.lineEdit_1.setText("0")                                                        # text by default
    #self.lineEdit_1.returnPressed.connect(self.on_lineEdit_1_Pressed)                  # connect on def "on_lineEdit_1_Pressed" for execute actionn   # for validate the data with press on return touch
    self.lineEdit_1.textChanged.connect(self.on_lineEdit_1_Pressed)                     # connect on def "on_lineEdit_1_Pressed" for execute actionn   # with tips key char by char
                                                                                        # a tooltip can be set to all objects

section lineEdit 2

    self.lineEdit_2 = QtGui.QLineEdit(self.widget)                                      # create object lineEdit_2
    self.lineEdit_2.setGeometry(QtCore.QRect(70, 180, 60, 22))                          # coordinates position
    self.lineEdit_2.setObjectName(_fromUtf8("lineEdit_2"))                              # name of object
    self.lineEdit_2.setText("0")                                                        # text by default

self.lineEdit_2.returnPressed.connect(self.on_lineEdit_2_Pressed) # connect on def "on_lineEdit_2_Pressed" for execute actionn # for validate the data with press on return touch

    self.lineEdit_2.textChanged.connect(self.on_lineEdit_2_Pressed)                     # connect on def "on_lineEdit_2_Pressed" for execute actionn   # with tips key char by char

    # accelerated minimum maximum singleStep prefix suffix
    self.doubleSpinBox_1 = QtGui.QDoubleSpinBox(self.widget)                            # create object doubleSpinBox_1
    self.doubleSpinBox_1.setGeometry(QtCore.QRect(70, 210, 62, 22))                     # coordinates position
    self.doubleSpinBox_1.setMinimum(-10000.0)                                           # minimum value
    self.doubleSpinBox_1.setMaximum(10000.0)                                            # maximum value
    self.doubleSpinBox_1.setSingleStep(0.1)                                             # step for increase or decrease value here 0.1
    self.doubleSpinBox_1.setObjectName(_fromUtf8("doubleSpinBox_1"))                    # name of object
    self.doubleSpinBox_1.valueChanged.connect(self.on_doubleSpinBox_1_valueChanged)     #connect on def "on_doubleSpinBox_1_valueChanged"

    self.doubleSpinBox_2 = QtGui.QDoubleSpinBox(self.widget)                            # create object doubleSpinBox_2
    self.doubleSpinBox_2.setGeometry(QtCore.QRect(70, 240, 62, 22))                     # coordinates position
    self.doubleSpinBox_2.setMinimum(-361.0)                                             # minimum value
    self.doubleSpinBox_2.setMaximum(361.0)                                              # maximum value
    self.doubleSpinBox_2.setSingleStep(1)                                               # step for increase or decrease value here 1
    self.doubleSpinBox_2.setObjectName(_fromUtf8("doubleSpinBox_2"))                    # name of object
    self.doubleSpinBox_2.valueChanged.connect(self.on_doubleSpinBox_2_valueChanged)     # connect on def "on_doubleSpinBox_2_valueChanged"

    self.doubleSpinBox_3 = QtGui.QDoubleSpinBox(self.widget)                            # create object doubleSpinBox_3
    self.doubleSpinBox_3.setGeometry(QtCore.QRect(70, 270, 62, 22))                     # coordinates position
    self.doubleSpinBox_3.setMinimum(0)                                                  # minimum value
    self.doubleSpinBox_3.setMaximum(100.0)                                              # maximum value
    self.doubleSpinBox_3.setSingleStep(0.05)                                            # step for increase or decrease value here 0.05
    self.doubleSpinBox_3.setObjectName(_fromUtf8("doubleSpinBox_3"))                    # name of object
    self.doubleSpinBox_3.valueChanged.connect(self.on_doubleSpinBox_3_valueChanged)     # connect on def "on_doubleSpinBox_3_valueChanged"

section pushButton 1

    self.pushButton_1 = QtGui.QPushButton(self.widget)                                  # create object PushButton_1
    self.pushButton_1.setGeometry(QtCore.QRect(70, 298, 65, 20))                        # coordinates position
    self.pushButton_1.setObjectName(_fromUtf8("pushButton_1"))                          # name of object
    self.pushButton_1.clicked.connect(self.on_pushButton_1_clicked)                     # connect on def "on_pushButton_1_clicked"

section pushButton 2

    self.pushButton_2 = QtGui.QPushButton(self.widget)                                  # create object pushButton_2
    self.pushButton_2.setGeometry(QtCore.QRect(150, 298, 65, 20))                       # coordinates position
    self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))                          # name of object
    self.pushButton_2.clicked.connect(self.on_pushButton_2_clicked)                     # connect on def "on_pushButton_2_clicked"

section groupBox for the four radioButton

    self.groupBox = QtGui.QGroupBox(self.widget)                                        # this is the group for associate the four radioButton
    self.groupBox.setGeometry(QtCore.QRect(250, 140, 125, 181))                          # coordinates position
    self.groupBox.setObjectName(_fromUtf8("groupBox"))                                  # name of window groupBox

section radioButton 1

    self.radioButton_1 = QtGui.QRadioButton(self.groupBox)                              # create object QRadioButton in groupBox
    self.radioButton_1.setGeometry(QtCore.QRect(10, 30, 110, 20))                       # coordinates position
    self.radioButton_1.setObjectName(_fromUtf8("radioButton_1"))                        # name of object
    self.radioButton_1.setChecked(True)                                                 # by default True or False (one in the group))
    self.image_01 = path+"MEPlanT.png"                                                  # image dedicate of the button
    icon01 = QtGui.QIcon()                                                              # create image name
    icon01.addPixmap(QtGui.QPixmap(self.image_01),QtGui.QIcon.Normal, QtGui.QIcon.Off)  #
    self.radioButton_1.setIcon(icon01)                                                  # associate button and image
    self.radioButton_1.clicked.connect(self.on_radioButton_1_clicked)                   # connect radioButton_1 on "def on_radioButton_1_clicked:"

section radioButton 2

    self.radioButton_2 = QtGui.QRadioButton(self.groupBox)                              # create object QRadioButton in groupBox
    self.radioButton_2.setGeometry(QtCore.QRect(10, 60, 110, 20))                       # coordinates position
    self.radioButton_2.setObjectName(_fromUtf8("radioButton_2"))                        # name of object
    self.image_02 = path+"MEPlanF.png"                                                  # image dedicate of the button
    icon02 = QtGui.QIcon()                                                              # create image name
    icon02.addPixmap(QtGui.QPixmap(self.image_02),QtGui.QIcon.Normal, QtGui.QIcon.Off)  #
    self.radioButton_2.setIcon(icon02)                                                  # associate button and image
    self.radioButton_2.clicked.connect(self.on_radioButton_2_clicked)                   # connect radioButton_2 on "def on_radioButton_2_clicked:"

section radioButton 3

    self.radioButton_3 = QtGui.QRadioButton(self.groupBox)                              # create object QRadioButton in groupBox
    self.radioButton_3.setGeometry(QtCore.QRect(10, 90, 110, 20))                       # coordinates position
    self.radioButton_3.setObjectName(_fromUtf8("radioButton_3"))                        # name of object
    self.image_03 = path+"MEPlanD.png"                                                  # image dedicate of the button
    icon03 = QtGui.QIcon()                                                              # create image name
    icon03.addPixmap(QtGui.QPixmap(self.image_03),QtGui.QIcon.Normal, QtGui.QIcon.Off)  #
    self.radioButton_3.setIcon(icon03)                                                  # associate button and image
    self.radioButton_3.clicked.connect(self.on_radioButton_3_clicked)                   # connect radioButton_3 on "def on_radioButton_3_clicked:"

section radioButton 4

    self.radioButton_4 = QtGui.QRadioButton(self.groupBox)                              # create object QRadioButton in groupBox
    self.radioButton_4.setGeometry(QtCore.QRect(10, 150, 110, 20))                      # coordinates position
    self.radioButton_4.setObjectName(_fromUtf8("radioButton_4"))                        # name of object
    self.image_04 = path+"MEPlanI.png"                                                  # image dedicate of the button
    icon04 = QtGui.QIcon()                                                              # create image name
    icon04.addPixmap(QtGui.QPixmap(self.image_04),QtGui.QIcon.Normal, QtGui.QIcon.Off)  #
    self.radioButton_4.setIcon(icon04)                                                  # associate button and image
    self.radioButton_4.clicked.connect(self.on_radioButton_4_clicked)                   # connect radioButton_4 on "def on_radioButton_4_clicked:"

section checkBox 1

    self.checkBox_1 = QtGui.QCheckBox(self.groupBox)                                    # create object QRadioButton in groupBox
    self.checkBox_1.setGeometry(QtCore.QRect(20, 120, 110, 20))                         # coordinates position
    self.checkBox_1.setObjectName(_fromUtf8("checkBox_1"))                              # name of object
    self.checkBox_1.setChecked(True)                                                    # Check by default True or False
    self.checkBox_1.clicked.connect(self.on_checkBox_1_clicked)                         # connect on def "on_checkBox_1_clicked"
    self.image_1 = path+"MEpipe01.png"                                                  # image dedicate of the button
    icon1 = QtGui.QIcon()                                                               # create image name
    icon1.addPixmap(QtGui.QPixmap(self.image_1),QtGui.QIcon.Normal, QtGui.QIcon.Off)    # 
    self.checkBox_1.setIcon(icon1)                                                      # associate button and image


    self.label_1 = QtGui.QLabel(self.widget)                                            # labels displayed on widget
    self.label_1.setGeometry(QtCore.QRect(140, 150, 110, 16))                           # label coordinates 
    self.label_1.setObjectName(_fromUtf8("label_1"))                                    # label name

    self.label_2 = QtGui.QLabel(self.widget)
    self.label_2.setGeometry(QtCore.QRect(140, 180, 110, 16))
    self.label_2.setObjectName(_fromUtf8("label_2"))

    self.label_3 = QtGui.QLabel(self.widget)
    self.label_3.setGeometry(QtCore.QRect(140, 210, 100, 16))
    self.label_3.setObjectName(_fromUtf8("label_3"))

    self.label_4 = QtGui.QLabel(self.widget)
    self.label_4.setGeometry(QtCore.QRect(140, 240, 100, 16))
    self.label_4.setObjectName(_fromUtf8("label_4"))

    self.label_5 = QtGui.QLabel(self.widget)
    self.label_5.setGeometry(QtCore.QRect(140, 270, 100, 16))
    self.label_5.setObjectName(_fromUtf8("label_5"))

    self.label_6 = QtGui.QLabel(self.widget)
    self.label_6.setGeometry(QtCore.QRect(70, 315, 159, 25))
    self.label_6.setObjectName(_fromUtf8("label_6"))

    self.textEdit = QtGui.QTextEdit(self.widget)
    self.textEdit.setGeometry(QtCore.QRect(251, 350, 124, 58))
    self.textEdit.setObjectName(_fromUtf8("textEdit"))
    #self.textEdit.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse)            #
    self.textEdit.setText("TexEdit ")
    self.textEdit.setToolTip(_translate("MainWindow", "textEdit", None))
    #self.textEdit.verticalScrollBar().setValue(0)                                      # verticalScrollBar Position
    #self.textEdit.verticalScrollBar().setSliderPosition(0)                             # Slider Position
    self.textEdit.textChanged.connect(self.on_textEdit_Changed)                         #connection on_textEdit_Changed

    ### ---graphicsView---
    self.graphicsView = QtGui.QGraphicsView(self.widget)                                # graphic view declaration
    self.graphicsView.setGeometry(QtCore.QRect(70, 350, 168, 60))                       # coordinates position
    self.graphicsView.setFrameShape(QtGui.QFrame.StyledPanel)                           # Frame for the gaphic view
    self.graphicsView.setObjectName(_fromUtf8("graphicsView"))                          # name gaphicView
    pic = QtGui.QPixmap(path+"MEPlanFC.png")                                            # image displayed in the graphicView
    self.scene = QtGui.QGraphicsScene()                                                 #
    self.scene.addPixmap(QtGui.QPixmap(pic))                                            # adding image in the graphicView
    self.graphicsView.setScene(ui.scene)                                                # display image in the graphicView
    ### ---graphicsView---

    MainWindow.setCentralWidget(self.widget)
    self.menuBar = QtGui.QMenuBar(MainWindow)
    self.menuBar.setGeometry(QtCore.QRect(0, 0, 400, 26))
    self.menuBar.setObjectName(_fromUtf8("menuBar"))
    MainWindow.setMenuBar(self.menuBar)
    self.mainToolBar = QtGui.QToolBar(MainWindow)
    self.mainToolBar.setObjectName(_fromUtf8("mainToolBar"))
    MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.mainToolBar)
    self.statusBar = QtGui.QStatusBar(MainWindow)
    self.statusBar.setObjectName(_fromUtf8("statusBar"))
    MainWindow.setStatusBar(self.statusBar)
    self.statusbar = QtGui.QStatusBar(MainWindow)
    self.statusbar.setObjectName(_fromUtf8("statusbar"))
    MainWindow.setStatusBar(self.statusbar)

    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
    MainWindow.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint)                   # this function turns the front window (stay to hint)
    MainWindow.setWindowTitle(_translate("MainWindow", "Qt_Example", None))            # title main window
    MainWindow.setWindowIcon(QtGui.QIcon(path+'MEPlan.png'))                           # change the icon of the main window

for horizontalScrollBar

self.horizontalScrollBar.setToolTip(_translate("MainWindow", "horizontalScrollBar", None))

self.verticalScrollBar.setToolTip(_translate("MainWindow", "verticalScrollBar", None))

    self.groupBox.setTitle(_translate("MainWindow", "View", None))
    self.radioButton_1.setToolTip(_translate("MainWindow", "radioButton_1", None))
    self.radioButton_1.setText(_translate("MainWindow", "radioButton_1", None))
    self.radioButton_2.setToolTip(_translate("MainWindow", "radioButton_2", None))
    self.radioButton_2.setText(_translate("MainWindow", "radioButton_2", None))
    self.radioButton_3.setToolTip(_translate("MainWindow", "radioButton_3" , None))
    self.radioButton_3.setText(_translate("MainWindow", "radioButton_3", None))
    self.radioButton_4.setToolTip(_translate("MainWindow", "radioButton_4", None))
    self.radioButton_4.setText(_translate("MainWindow", "radioButton_4", None))
    self.checkBox_1.setToolTip(_translate("MainWindow", "checkBox_1", None))
    self.checkBox_1.setText(_translate("MainWindow", "checkBox_1", None))
    self.pushButton_1.setToolTip(_translate("MainWindow", "pushButton_1", None))
    self.pushButton_1.setText(_translate("MainWindow", "Reset", None))
    self.pushButton_2.setToolTip(_translate("MainWindow", "pushButton_2", None))
    self.pushButton_2.setText(_translate("MainWindow", "Quit", None))

    self.lineEdit_1.setToolTip(_translate("MainWindow", "LineEdit 1", None))
    self.label_1.setText(_translate("MainWindow", "LineEdit 1", None))

    self.lineEdit_2.setToolTip(_translate("MainWindow", "LineEdit_2", None))
    self.label_2.setText(_translate("MainWindow", "LineEdit 2", None))

    self.label_3.setText(_translate("MainWindow", "doubleSpinBox_1", None))
    self.doubleSpinBox_1.setToolTip(_translate("MainWindow", "doubleSpinBox_1", None))

    self.label_4.setText(_translate("MainWindow", "doubleSpinBox_2", None))
    self.doubleSpinBox_2.setToolTip(_translate("MainWindow", "doubleSpinBox_2", None))

    self.label_5.setText(_translate("MainWindow", "doubleSpinBox_3", None))
    self.doubleSpinBox_3.setToolTip(_translate("MainWindow", "doubleSpinBox_3", None))

    font = QtGui.QFont()          # see http://doc.qt.io/qt-4.8/qfont.html              # label text displayed and colored in red
    font.setFamily("Times New Roman")                                                   # font used (Windows)
    font.setPointSize(10)                                                               # font PointSize
    font.setWeight(10)                                                                  # font Weight
    font.setBold(True)                                                                  # Bolt True or False 
    self.label_6.setFont(font)                                                          # associate label_6 and font
    self.label_6.setObjectName("label_6")                                               # name of object
    self.label_6.setStyleSheet("color : #ff0000")                                       # Color text
    self.label_6.setText(_translate("MainWindow", "Hello world", None))                 # same resultt with "<b>Hello world</b>"

########### section connections on def #############################
# radioboutons
def on_radioButton_1_clicked(self):                                                     # connection on_radioButton_1_clicked
    #
    #here your code
    #
    self.label_6.setText(_translate("MainWindow", "radioButton_1          ", None))     # display in the label_6 (red)
    print( "radioButton_1")
    #

def on_radioButton_2_clicked(self):                                                     # connection on_radioButton_2_clicked
    #
    #here your code
    #
    self.label_6.setText(_translate("MainWindow", "radioButton_2          ", None))     # display in the label_6 (red)
    print( "radioButton_2")
    #

def on_radioButton_3_clicked(self):                                                     # connection on_radioButton_3_clicked
    #
    #here your code
    self.label_6.setText(_translate("MainWindow", "radioButton_3          ", None))     # display in the label_6 (red)
    print( "radioButton_3")
    #

def on_radioButton_4_clicked(self):                                                     # connection on_radioButton_4_clicked
    #
    #here your code
    #
    self.label_6.setText(_translate("MainWindow", "radioButton_4         ", None))      # display in the label_6 (red)
    print( "radioButton_4")
    #

def affectation_X (self,val_X0):                                                        # connection affectation_X
    #val_X = float(val_X0)                                                              # extract the value and transform it in float
    #
    #here your code
    #
    print( val_X0)
    #

def affectation_Y (self,val_Y0):                                                        # connection affectation_Y
    #val_Y = float(val_Y0)                                                              # extract the value and transform it in float
    #
    #here your code
    #
    print( val_Y0)
    #

# scroll bar barres coulissantes

def on_horizontal_scrolling(self, val_X): # connection on_horizontal_scrolling

self.lineEdit_1.setText(str(val_X))

self.affectation_X(val_X)

self.progressBar_1_Red.setValue(val_X)

self.textEdit.setText(str(val_X))

print( "on_horizontal_scrolling")

def on_vertical_scrolling(self, val_Y): # connection on_vertical_scrolling

self.lineEdit_2.setText(str(val_Y))

self.affectation_Y(val_Y)

self.progressBar_2.setValue(val_Y)

self.textEdit.setText(str(val_Y))

print( "on_vertical_scrolling")

# slider barres coulissantes
def on_horizontal_slider(self, val_X):                                                  # connection on_horizontal_slider
    #
    #here your code
    #
    self.lineEdit_1.setText(str(val_X))                                                 # affect the value "val_X" and displayed in lineEdit_1
    self.affectation_X(val_X)
    self.progressBar_1_Red.setValue(val_X)                                              # affect the value "val_X" in progressbar_1
    self.progressBar_1_Green.setValue(val_X)                                            # affect the value "val_X" in progressbar_1
    self.progressBar_1_Blue.setValue(val_X)                                             # affect the value "val_X" in progressbar_1
    self.progressBar_1_gradient.setValue(int(val_X))                                    # affect the value "val_X" on progressBar_1 and modify this
    self.textEdit.setText(str(val_X))                                                   # affect the value "val_X" in textEdit 
    print( "on_horizontal_slider" )                                                       # displayed on View repport
    #

def on_vertical_slider(self, val_Y):                                                    # connection on_vertical_slider
    #
    #here your code
    #
    self.lineEdit_2.setText(str(val_Y))                                                 # affect the value "val_Y" and displayed in lineEdit_2
    self.affectation_Y(val_Y)
    self.progressBar_2.setValue(val_Y)                                                  # affect the value "val_Y" in progressbar_2
    self.textEdit.setText(str(val_Y))                                                   # affect the value "val_Y" in textEdit 
    print( "on_vertical_slider" )                                                         # displayed on View repport
    #

# lineEdit
def on_lineEdit_1_Pressed(self):                                                        # connection on_lineEdit_1_Pressed
    val_X = self.lineEdit_1.text()                                                      # extract the string in the lineEdit
    #
    #here your code
    #
    self.affectation_X(val_X)
    try:
        self.horizontalSlider.setValue(int(val_X))                                      # affect the value "val_X" on horizontalSlider and modify this
    except Exception:                                                                   # if error
        self.horizontalSlider.setValue(int(0))                                          # affect the value "0" on horizontalSlider and modify this
        val_X = "0"
    self.progressBar_1_Red.setValue(int(val_X))                                         # affect the value "val_X" on progressBar_1 and modify this
    self.progressBar_1_Green.setValue(int(val_X))                                       # affect the value "val_X" on progressBar_1 and modify this
    self.progressBar_1_Blue.setValue(int(val_X))                                        # affect the value "val_X" on progressBar_1 and modify this
    self.progressBar_1_gradient.setValue(int(val_X))                                    # affect the value "val_X" on progressBar_1 and modify this
    print( val_X)
    #

def on_lineEdit_2_Pressed(self):                                                        # connection on_lineEdit_2_Pressed
    val_Y = self.lineEdit_2.text()                                                      # extract the string in the lineEdit
    #
    #here your code
    #
    self.affectation_Y(val_Y)
    try:
        self.verticalSlider.setValue(int(val_Y))                                        # affect the value "val_Y" on verticalSlider and modify this
    except Exception:                                                                   # if error
        self.verticalSlider.setValue(int(0))                                            # affect the value "0" on verticalSlider and modify this
        val_Y = "0"
    self.progressBar_2.setValue(int(val_Y))                                             # affect the value "val_Y" on progressBar_2 and modify this
    print( val_Y)
    #

#  checkbox_01
def on_checkBox_1_clicked(self):                                                        # connection on_checkBox_1_clicked
    #
    #here your code
    #
    if self.checkBox_1.isChecked():                                                     # if checkbox_01 is checked then ....
        self.image_1 = path+"MEpipe01.png"                                              # configure image_1
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap(self.image_1),QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.checkBox_1.setIcon(icon1)                                                  # affect image_1 to checkBox_1
        self.checkBox_1.setText(_translate("MainWindow", "Attached", None))             # text for checkBox_1
        print( "Mode attached")                                                           # diplayed on View Repport
    else:                                                                               # if checkbox_01 is not checked then ....
        self.image_2 = path+"MEpipe02.png"                                              # configure image_2
        icon2 = QtGui.QIcon() 
        icon2.addPixmap(QtGui.QPixmap(self.image_2),QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.checkBox_1.setIcon(icon2)                                                  # affect image_2 to checkBox_1
        self.checkBox_1.setText(_translate("MainWindow", "Free", None))                 # text for checkBox_1
        print( "Mode free" )                                                              # diplayed on View Repport
    #

# Buttons
def on_pushButton_2_clicked(self):    # Button Quit                                     # connection on_pushButton_2_clicked
    #
    #here your code
    #
    self.pushButton_1.setStyleSheet("background-color: QPalette.Base")                  # origin system color pushButton_1
    App.Console.PrintMessage("End\r\n")
    self.window.hide()                                                                  # hide the window and close the macro
    #

def on_pushButton_1_clicked(self):    # Button Reset                                    # connection on_pushButton_1_clicked
    #
    #here your code
    #
    global switch
    self.doubleSpinBox_1.setValue(0)                                                    # gives the value "0" to the doubleSpinBox_1
    self.doubleSpinBox_2.setValue(0)                                                    # gives the value "0" to the doubleSpinBox_2
    self.doubleSpinBox_3.setValue(0)                                                    # gives the value "0" to the doubleSpinBox_3
    self.lineEdit_1.setText("0")                                                        # gives the value "0" to the lineEdit_1
    self.lineEdit_2.setText("0")                                                        # gives the value "0" to the lineEdit_2
    #self.horizontalScrollBar.setValue(0)                                               # gives the value "0" to the horizontalScrollBar
    #self.verticalScrollBar.setValue(0)                                                 # gives the value "0" to the verticalScrollBar
    self.horizontalSlider.setValue(0)                                                   # gives the value "0" to the horizontalSlider
    self.verticalSlider.setValue(0)                                                     # gives the value "0" to the verticalSlider
    self.textEdit.clear()                                                               # cleans the textEdit
    self.radioButton_1.setChecked(True)                                                 # by default True or False (one in the group))
    self.checkBox_1.setChecked(True)                                                    # Check by default True or False
    icon1 = QtGui.QIcon()                                                               # create image name
    icon1.addPixmap(QtGui.QPixmap(self.image_1),QtGui.QIcon.Normal, QtGui.QIcon.Off)    # 
    self.checkBox_1.setIcon(icon1)                                                      # associate button and image

    if switch == 0:                                                                     # switch for image in the graphic view Py or FC
        switch = 1
        pic = QtGui.QPixmap(path+"MEPlanPY.png")                                        # image (Python)
        self.scene = QtGui.QGraphicsScene()                                             # name of image
        self.scene.addPixmap(QtGui.QPixmap(pic))                                        # add image "pic" (MEPlanPY.png)
        self.graphicsView.setScene(ui.scene)                                            # display the image in graphicview
        self.pushButton_1.setStyleSheet("color : #ff0000; background-color : #0000ff;") # text color; background color pushButton_1
    else:
        switch = 0
        pic = QtGui.QPixmap(path+"MEPlanFC.png")                                        # image (FreeCAD)
        self.scene = QtGui.QGraphicsScene()                                             # name of image
        self.scene.addPixmap(QtGui.QPixmap(pic))                                        # add image "pic" (MEPlanFC.png)
        self.graphicsView.setScene(ui.scene)                                            # display the image in graphicview
        self.pushButton_1.setStyleSheet("color : #0000ff; background-color : #ff0000;") # text color; background color pushButton_1
    print( "Reset")
    #

def on_doubleSpinBox_1_valueChanged(self,echelle):                                      # connection on_doubleSpinBox_1_valueChanged
    #
    #here your code
    #
    print( "SpinBox 1 ", echelle)
    #

def on_doubleSpinBox_2_valueChanged(self,angle):                                        # connection on_doubleSpinBox_2_valueChanged
    #
    #here your code
    #
    print( "SpinBox 2 ", angle)

def on_doubleSpinBox_3_valueChanged(self,epaisseur):                                    # connection on_doubleSpinBox_3_valueChanged
    #
    #here your code
    #
    print( "SpinBox 3 ", epaisseur)
    #

def on_textEdit_Changed(self):                                                          # conection on_textEdit_Changed
    texte = str(self.textEdit.toPlainText())                                            # extract the string of textEdit
    #
    #here your code
    #
    print( texte)
    #

#######################################

MainWindow = QtGui.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() }}

Enjoy


??? documentation index > Poweruser Documentation > Python Code > Qt Example

This page is retrieved from https://github.com/FreeCAD/FreeCAD-documentation/blob/main/wiki/Qt_Example.md

Get in touch!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

This project is supported by: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub