Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Topics - sibelius

Pagine: [1]
1
Salve a tutti.
Avrei una domanda e spero che qualcuno mi sappia indirizzare.
Faccio una premessa a cui segue la domanda.
Supponiamo di considerare una linea (puo' essere un asse X ad esempio) in modo che partendo da un punto possa generare un insieme di vettori; in questo caso i vettori hanno solo una componente che altro non e' che la distanza da un origine presa sulla linea.
Per creare questo insieme di vettori posso realizzare una regola, ad esempio che il punto successivo sia a due volte la distanza del precedente e cosi' via creo la mia lista.
Fin qui e' facile.
Ora invece supponiamo che i miei vettori abbiano due componenti e quindi per la loro rappresentazione  non e' piu' sufficiente "in generale" una linea retta ma avro' necessita' di muovermi su di un piano (per semplicita' facciamo finta che sia il piano x-y).
Ora per definire questa mia nuova lista di vettori posso utilizzare alcune regole come incrementare la componente x e la componente y di ogni vettore di una certa quantita'.
La mia domanda e' questa: esiste una metodologia in python per poter considerare un insieme di punti limitato da una linea chiusa qualunque?
Posto in altri termini la dico cosi': se si prende una penna e un foglio di carte e si disegna una linea chiusa di forma qualsivoglia su un foglio, come posso definire con python I vettori (e quindi i punti) all'interno della linea stessa?
Grazie dell'aiuto.
ciao

2
Salve a tutti.
Qualcuno sa segnalarmi un post o un link che aprendolo mi rende capace di programmare in python?
Grazie dell'aiuto.
ciao

3
PyQT / come utilizzare sympy in pyqt5
« il: Febbraio 18, 2020, 07:26 »
Buongiorno a tutti
Avrei una domanda; ossia e' possibile importare la libreria sympy nella libreria pyqt5?
Per capirci meglio vorrei far interagire ad esempio l'oggetto PlainTextEdit oppure QLineEdit con I comandi della libreria sympy.
metto appena sotto due pezzettini piccoli piccoli di codice per Qt il primo e il secondo e' quello che vorrei fare
Grazie a tutti in anticipo.
#questa funzione ritorna un numero dall'inserimento di un numero dopo un'operazione matematica
    def collect_float(self):
           numeri = self.FUNZIONE_2.toPlainText()
           numeri = float(numeri)*2
           self.RISULTATO_2.setText(str(numeri))

questo sotto invece e' quello che vorrei fare
def string_to_number(self):
           numeri = sympify(self.FUNZIONE_2.toPlainText())
          numeri = float(subs(x,3).evalf())
     #     numeri.subs(x,3).evalf()
           self.RISULTATO_2.setText(str(numeri))

4
Salve a tutti, scusate il gioco di parole; provero' a descrivere meglio il problema.
Allora; ho costruito una finestra con PYQt5; la finestra appare correttamente e fa quello che deve fare.
Allego i tre file che compongono il lavoro.
file numero 1 che si chiama piano3.py;
file numero 2 che si chiama piano3Main.py
fine numero 3 che si chiama piano3.ui
questi tre files devono essere copiati dentro una cartella se si vuole creare la finestra.
una volta copiati apro nella consolle python il file piano3Main.py e lancio il run; la finestra appare.
Per come e' stato costruito il codice (che mi serve per capire una cosa che al momento non so) accetta solo valori inseriti nel box chiamato FUNZIONE.
Nel box chiamato FUNZIONE posso inserire numeri ( se collego la funzione preposta al bottone preposto ed a questo proposito basta cambiare nel connect button il nome della funzione che si vuole testare)
Nel box chiamato FUNZIONE posso inserire stringhe (quindi anche numeri) sempre ricordandomi di cambiare il nome della funzione nel connect button.
Allora a questo punto ho testato due funzioni; una che se inserisco un numero nel box mi restituisce un numero oppure il risultato matematico di una operazione che ho fatto fare al numero inserito; quindi qui la situazione e' di un numero che mi restituisce un numero.
Nell'altro caso ho una stringa che mi restituisce una stringa.

Ora il problema che mi pongo e' il seguente.
Supponiamo di aver definito una nuova funzione all'interno della quale ad esempio assegno a due variabili x e y i seguenti valori x=10 e y=10; ora supponiamo di voler scrivere nella box FUNZIONE la seguente cosa x+y*3 oppure sin(x)+cos(y) e di voler ottenere come risultato un numero che corrisponde al calcolo matematico di quelle funzioni; ossia nel caso scelga di scrivere x+y*3, vorrei poter visualizzare nell'altro box di RISULTATO il valore 40, cioe' (10+10*3).

qualunque idea ed aiuto e' sempre benvenuto.
grazie a tutti in anticipo.
PS per questioni pratiche e' meglio mantenere i nomi dei file cosi' come li ho impostati cosi' non bisogna modificare il codice.

file piano3.py
# -*- coding: utf-8 -*-

################################################################################
## Form generated from reading UI file 'piano2.ui'
##
## Created by: Qt User Interface Compiler version 5.14.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################

from PySide2.QtCore import (QCoreApplication, QMetaObject, QObject, QPoint,
    QRect, QSize, QUrl, Qt)
from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont,
    QFontDatabase, QIcon, QLinearGradient, QPalette, QPainter, QPixmap,
    QRadialGradient)
from PySide2.QtWidgets import *


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        if Dialog.objectName():
            Dialog.setObjectName(u"Dialog")
        Dialog.resize(400, 300)
        self.larghezza = QLabel(Dialog)
        self.larghezza.setObjectName(u"larghezza")
        self.larghezza.setGeometry(QRect(40, 120, 47, 13))
        self.altezza = QLabel(Dialog)
        self.altezza.setObjectName(u"altezza")
        self.altezza.setGeometry(QRect(40, 50, 47, 13))
        self.piano = QLabel(Dialog)
        self.piano.setObjectName(u"piano")
        self.piano.setGeometry(QRect(40, 10, 47, 13))
        self.altezza_inserisci = QPlainTextEdit(Dialog)
        self.altezza_inserisci.setObjectName(u"altezza_inserisci")
        self.altezza_inserisci.setGeometry(QRect(100, 40, 61, 31))
        self.larghezza_inserisci = QPlainTextEdit(Dialog)
        self.larghezza_inserisci.setObjectName(u"larghezza_inserisci")
        self.larghezza_inserisci.setGeometry(QRect(100, 110, 61, 31))
        self.OK = QPushButton(Dialog)
        self.OK.setObjectName(u"OK")
        self.OK.setGeometry(QRect(70, 190, 75, 23))
        self.FUNZIONE_2 = QPlainTextEdit(Dialog)
        self.FUNZIONE_2.setObjectName(u"FUNZIONE_2")
        self.FUNZIONE_2.setGeometry(QRect(220, 50, 104, 71))
        self.FUNZIONE = QLabel(Dialog)
        self.FUNZIONE.setObjectName(u"FUNZIONE")
        self.FUNZIONE.setGeometry(QRect(230, 20, 71, 16))
        self.RISULTATO_2 = QTextEdit(Dialog)
        self.RISULTATO_2.setObjectName(u"RISULTATO_2")
        self.RISULTATO_2.setGeometry(QRect(220, 160, 104, 71))
        self.RISULTATO = QLabel(Dialog)
        self.RISULTATO.setObjectName(u"RISULTATO")
        self.RISULTATO.setGeometry(QRect(220, 140, 71, 16))

        self.retranslateUi(Dialog)

        QMetaObject.connectSlotsByName(Dialog)
    # setupUi

    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None))
        self.larghezza.setText(QCoreApplication.translate("Dialog", u"larghezza", None))
        self.altezza.setText(QCoreApplication.translate("Dialog", u"altezza", None))
        self.piano.setText(QCoreApplication.translate("Dialog", u"piano", None))
        self.OK.setText(QCoreApplication.translate("Dialog", u"OK", None))
        self.FUNZIONE.setText(QCoreApplication.translate("Dialog", u"FUNZIONE", None))
        self.RISULTATO.setText(QCoreApplication.translate("Dialog", u"RISULTATO", None))
    # retranslateUi

file piano3Main.py
###Be carefully you can test this functions only in the box called FUNZIONE
import sys
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QApplication, QDialog
from PyQt5.uic import loadUi

class MainPage(QDialog):
    def __init__(self):
        super(MainPage,self).__init__()
        loadUi('piano3.ui', self)
    #collego il bottone alla funzione
    #   self.OK.clicked.connect(self.la funzione che voglio collegare)
        self.OK.clicked.connect(self.collect_float)
       
    #QUESTA SOTTO SONO LE FUNZIONI

    #questa funzione ritorna un numero dall'inserimento di un numero dopo un'operazione matematica
    def collect_float(self):
           numeri = self.FUNZIONE_2.toPlainText()
           numeri = float(numeri)*2
           self.RISULTATO_2.setText(str(numeri))
    #QUI FINISCE LA FUNZIONE


    #questa funzione ritorna una stringa dall'inserimento di una stringa
    def collect_strings(self):
           parole = self.FUNZIONE_2.toPlainText()
           self.RISULTATO_2.setText(parole) 
     #QUI FINISCE LA FUNZIONE


"""
    def string_to_number(self):
           X = 10
           Y = 20
   
           parole = self.FUNZIONE_2.toPlainText()
           self.RISULTATO_2.setText(parole) 
     #QUI FINISCE LA FUNZIONE
"""

app = QApplication(sys.argv)
widget = MainPage()
widget.show()
sys.exit(app.exec_())

il file piano3.ui seguira' quando capisco come inviare allegati

5
Base / problemino sintassi close() su file
« il: Febbraio 04, 2020, 05:50 »
salve a tutti, dando in pasto a python il seguente file mi da errore si sintassi su close().
qualcuno ha qualche suggerimento?
grazie in anticipo.
# queste prime linee creano un file vuoto chiamato pari.txt (se esiste lo sovrascrivono vuoto)


documento = open("pari.txt", "w")

for i in range(1,100):
  if i%2==0:
    riga = "%i\n" % (i)
    documento.write(riga)
documento.close()


# primo metodo sommare tutti i numeri pari < 100 contenuti in pari.txt


pari = open("pari.txt", "r")
p = pari.readlines()

for i in range(0, len(p)):
  p[i] = int(p[i].strip("\n"))
  print (sum())
pari.close()

# secondo metodo

#pari = open("pari.txt","r").read()
#p = pari.split("\n")
#p.pop(len(p)-1)

#for i in range(0,len(p)):
#  p[i] = int(p[i])
#  print (sum())
#pari.close()

6
Base / errore su file py
« il: Febbraio 04, 2020, 04:04 »
ciao a tutti.
ieri giocavo a creare dei file ui con Qt designer e poi li ho convertiti in file py.
ce n'e uno in particolare che mi da il seguente errore
Traceback (most recent call last):
  File "C:\Users\Valerio\Desktop\widget_pyqt\Python_script_freeCAD\Qt5_progetti\progetto_3\MainPage.py", line 2, in <module>
    from PyQt5.QtCore import PyqtSlot
ImportError: cannot import name 'PyqtSlot' from 'PyQt5.QtCore' (C:\Program Files\Python381\lib\site-packages\PyQt5\QtCore.pyd)
>>>
.
qui sotto c'e' il file in questione insieme agli altri due file che completano il progetto (rimuovere negli altri due file le linee inerenti freeCAD se non si vuole testarlo su questa applicazione).
grazie dell'aiuto.
file 1 che genera errore
import sys
from PyQt5.QtCore import PyqtSlot
from PyQt5.QtWidgets import QApplication, QDialog
from PyQt5.uic import loadUi



class MainPage(QDialog):
   
    def __init__(self):
        super(MainPage,self).__init__()
        loadUi('HomePage.ui', self)
        #colegare il bottone all'interfaccia
        self.pushButton_2.clicked.connect(self.retrieveText)
       
    def retrieveText(self):
        words = self.plainTextEdit.toPlainText()
        self.textEdit_2.setText(words)



##    def executeloginPage(self):
##        login_page = LoginPage()
##        login_page.exec() 
##
##    def executeRegisterPage(self):
##        register_page = registerPage()
##        register_page.exec()

app = QApplication(sys.argv)
widget = MainPage()
widget.show()
sys.exit(app.exec_())


#codice aggiunto per freeCAD
#from PySide2 import QtWidgets
#if __name__ == "__main__":
#    MainWindow = QtWidgets.QMainWindow()
#    ui = Ui_Dialog()
#    ui.setupUi(MainWindow)
#    MainWindow.show()
file 2
# -*- coding: utf-8 -*-

################################################################################
## Form generated from reading UI file 'HomePage.ui'
##
## Created by: Qt User Interface Compiler version 5.14.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################

from PySide2.QtCore import (QCoreApplication, QMetaObject, QObject, QPoint,
    QRect, QSize, QUrl, Qt)
from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont,
    QFontDatabase, QIcon, QLinearGradient, QPalette, QPainter, QPixmap,
    QRadialGradient)
from PySide2.QtWidgets import *


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        if Dialog.objectName():
            Dialog.setObjectName(u"Dialog")
        Dialog.resize(400, 300)
        self.comboBox = QComboBox(Dialog)
        self.comboBox.setObjectName(u"comboBox")
        self.comboBox.setGeometry(QRect(230, 70, 69, 22))
        self.label = QLabel(Dialog)
        self.label.setObjectName(u"label")
        self.label.setGeometry(QRect(230, 40, 111, 20))
        self.plainTextEdit = QPlainTextEdit(Dialog)
        self.plainTextEdit.setObjectName(u"plainTextEdit")
        self.plainTextEdit.setGeometry(QRect(230, 110, 104, 31))
        self.pushButton = QPushButton(Dialog)
        self.pushButton.setObjectName(u"pushButton")
        self.pushButton.setGeometry(QRect(230, 170, 75, 23))
        self.plainTextEdit_2 = QPlainTextEdit(Dialog)
        self.plainTextEdit_2.setObjectName(u"plainTextEdit_2")
        self.plainTextEdit_2.setGeometry(QRect(20, 60, 104, 21))
        self.label_2 = QLabel(Dialog)
        self.label_2.setObjectName(u"label_2")
        self.label_2.setGeometry(QRect(20, 30, 151, 20))
        self.label_3 = QLabel(Dialog)
        self.label_3.setObjectName(u"label_3")
        self.label_3.setGeometry(QRect(30, 110, 111, 21))
        self.textEdit = QTextEdit(Dialog)
        self.textEdit.setObjectName(u"textEdit")
        self.textEdit.setGeometry(QRect(20, 140, 104, 31))
        self.pushButton_2 = QPushButton(Dialog)
        self.pushButton_2.setObjectName(u"pushButton_2")
        self.pushButton_2.setGeometry(QRect(20, 190, 75, 23))
        self.pushButton_3 = QPushButton(Dialog)
        self.pushButton_3.setObjectName(u"pushButton_3")
        self.pushButton_3.setGeometry(QRect(150, 250, 141, 23))
        self.retranslateUi(Dialog)
        QMetaObject.connectSlotsByName(Dialog)
    # setupUi
    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None))
        self.label.setText(QCoreApplication.translate("Dialog", u"Numbers", None))
        self.pushButton.setText(QCoreApplication.translate("Dialog", u"Set Text", None))
        self.label_2.setText(QCoreApplication.translate("Dialog", u"Enter your text:", None))
        self.label_3.setText(QCoreApplication.translate("Dialog", u"Display text", None))
        self.pushButton_2.setText(QCoreApplication.translate("Dialog", u"Set text", None))
        self.pushButton_3.setText(QCoreApplication.translate("Dialog", u"Move to Next Window", None))
    # retranslateUi


    #codice aggiunto da mario

   
from PySide2 import QtWidgets
if __name__ == "__main__":
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_Dialog()
    ui.setupUi(MainWindow)
    MainWindow.show()
file 3
# -*- coding: utf-8 -*-

################################################################################
## Form generated from reading UI file 'SecondPage.ui'
##
## Created by: Qt User Interface Compiler version 5.14.1
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################

from PySide2.QtCore import (QCoreApplication, QMetaObject, QObject, QPoint,
    QRect, QSize, QUrl, Qt)
from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont,
    QFontDatabase, QIcon, QLinearGradient, QPalette, QPainter, QPixmap,
    QRadialGradient)
from PySide2.QtWidgets import *


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        if Dialog.objectName():
            Dialog.setObjectName(u"Dialog")
        Dialog.resize(400, 300)
        self.buttonBox = QDialogButtonBox(Dialog)
        self.buttonBox.setObjectName(u"buttonBox")
        self.buttonBox.setGeometry(QRect(30, 240, 341, 32))
        self.buttonBox.setOrientation(Qt.Horizontal)
        self.buttonBox.setStandardButtons(QDialogButtonBox.Cancel|QDialogButtonBox.Ok)
        self.label = QLabel(Dialog)
        self.label.setObjectName(u"label")
        self.label.setGeometry(QRect(80, 80, 251, 111))
        self.label.setStyleSheet(u"font: 31pt \"Georgia\";")
        self.retranslateUi(Dialog)
        self.buttonBox.accepted.connect(Dialog.accept)
        self.buttonBox.rejected.connect(Dialog.reject)
        QMetaObject.connectSlotsByName(Dialog)
    # setupUi
    def retranslateUi(self, Dialog):
        Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None))
        self.label.setText(QCoreApplication.translate("Dialog", u"Second Page", None))
    # retranslateUi
    #codice aggiunto da mario
    def accept(self):
        print("accept")
    def reject(self):
        print("reject")


from PySide2 import QtWidgets
if __name__ == "__main__":
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_Dialog()
    ui.setupUi(MainWindow)
    MainWindow.show()
       


7
Base / installare moduli python su diverse versioni con pip
« il: Febbraio 03, 2020, 02:10 »
salve a tutti.
attaulmente ho due versioni di python sulla mia macchina windows10 x64; la versione 3.8.1 e la versione 3.6.8
quando voglio installare un pacchetto Python con il comando pip utilizzo la seguente sintassi.
pip install pacchetto

e il pacchetto viene installato su Python36.
ora se volessi installare con pip su Python38 come faccio?
grazie dell'aiuto
ciao

8
Benvenuto e regolamento / presentazione sibelius
« il: Febbraio 03, 2020, 02:03 »
salve a tutti.
mi chiamo Valerio.
sto cercando di imparare Python; questo mi sembra un buon punto di partenza.
ciao

Pagine: [1]