Προς το περιεχόμενο

Pyqt5 "μοίρασμα" πληροφορίας


thiva7

Προτεινόμενες αναρτήσεις

Καλησπέρα, 

Προσπαθώ να χαζό μάθω λίγο python με pyqt5. 

Έχω φτιάξει το γραφικό περιβάλλον κτλπ και έκανα εξαγωγή σε main.py

Τωρα από το maimApp.py δίνω τις λειτουργίες σε Button line κτλπ. 

Όλα κομπλέ μέχρι εδώ... Αλλά για να μπορώ να το έχω ακόμα πιο "μαζεμένο" θέλω να μοιράσω τις λειτουργίες σε πολλαπλά αρχεία. 

Πως μπορώ λοιπόν πχ από το αρχείο file1.py να πάρω τα στοιχεία που καταχωρεί ο χρήστης στο παράθυρο από το maimApp.py να γίνεται η επεξεργασία των πληροφοριών και να επιστρέψει τα στοιχεία στο mainApp? 

 

Ευχαριστώ 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θεωρώ πως μπορείς να πάρεις την πληροφορία από την φόρμα/φόρμες που έχεις στο mainApp.py. Αν δεν, θα πρέπει για κάθε στοιχείο της φόρμας που χρησιμοποιείς, να το ψάξεις στο documentation (μπορείς να δεις και το documentation της Qt. Μπορεί να είναι σε PySide2 αλλά πολύ λίγες διαφορές έχει από την PyQt5)

Για να διαμοιράσεις την πληροφορία όμως αυτό δεν είναι θέμα της PyQt5. Έχει να κάνει με python modules: Δες εδώ

Τώρα ένα πρόχειρο παράδειγμα που μπορεί να σου χρειαστεί στο μέλλον είναι το εξής:

Module name: utils/dialogs.py

from PyQt5.QtWidgets import QMessageBox
import config.settings as settings

def show_msg(msg):
    """
    Shows a message in a window, in case that an error occurred.
    """

    msg_box = QMessageBox()
    msg_box.setWindowTitle(settings.WINDOW_TITLE)
    msg_box.setText(msg)
    x = msg_box.exec_()

Main application

import utils.dialogs as dialogs

# Κάλεσε το ως
dialogs.show_msg('Hello World')

Πρώτα κάνεις import φάκελο, ονομασία αρχείου και μετά πως θα το χρησιμοποιείς στο πρόγραμμα σου. Αλλά καλύτερα ρίξε μια ματιά στον οδηγό της Python καθώς υπάρχουν κι άλλα περίεργα.

 

  • Thanks 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σας ευχαριστω και τους δυο για τις απαντησεις

τελικα το εκανα λιγο μπακαλιστικα μαλλον ,

για καθε πληροφορια που θελω να ειναι σε αλλη σελιδα py εφτιαξα functions

def κατι(kati , kati2... ) :

      oti thelo na kanei

 

και με import μεσα απο την βασικη σελιδα καλεσα το def κατι.

λογικα θα μπορουσε να γινει και με πιο απλο τροπο :D ,  αλλα αυτο δουλεψε

Στις 5/4/2021 στις 11:29 ΜΜ, Ponous είπε

import config.settings as settings

config ειναι φακελος και settings  ειναι το ονομα αρχειου?

 

Στις 5/4/2021 στις 11:29 ΜΜ, Ponous είπε

from PyQt5.QtWidgets import QMessageBox
import config.settings as settings

def show_msg(msg):
    """
    Shows a message in a window, in case that an error occurred.
    """

    msg_box = QMessageBox()
    msg_box.setWindowTitle(settings.WINDOW_TITLE)
    msg_box.setText(msg)
    x = msg_box.exec_()

Main application


import utils.dialogs as dialogs

# Κάλεσε το ως
dialogs.show_msg('Hello World')

Πρώτα κάνεις import φάκελο, ονομασία αρχείου και μετά πως θα το χρησιμοποιείς στο πρόγραμμα σου. Αλλά καλύτερα ρίξε μια ματιά στον οδηγό της Python καθώς υπάρχουν κι άλλα περίεργα.

 

αυτο δεν ειναι για να μεταφερεις πληροφορια σε αλλο παραθυρο? εγω δεν ηθελα νεο παραθυρο αλλα σε αλλη σελιδα py να περασω απλα λειτουργιες για πιο μαζεμενο κωδικα

 

Ευχαριστω

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στις 13/4/2021 στις 4:15 ΜΜ, thiva7 είπε

config ειναι φακελος και settings  ειναι το ονομα αρχειου?

Ναι config/settings.py

Στις 13/4/2021 στις 4:15 ΜΜ, thiva7 είπε

αυτο δεν ειναι για να μεταφερεις πληροφορια σε αλλο παραθυρο?

Αυτό ήταν ένα παράδειγμα για να σου δείξω πως μπορείς να μεταφέρεις συναρτήσεις του τύπου def kati(sth, sth2) σε άλλο αρχείο .py. Στο παράδειγμα μου σου έχω μια συνάρτηση η οποία δείχνει στην οθόνη ένα μήνυμα. Αλλά δεν χρειάζεται να αντιγράψεις την συνάρτηση μου απλά να δεις πως μπορεί να μπει μια συνάρτηση σε άλλο αρχείο και να καλεστεί από την βασική σου σελίδα ;)

Στις 13/4/2021 στις 4:15 ΜΜ, thiva7 είπε

 

για καθε πληροφορια που θελω να ειναι σε αλλη σελιδα py εφτιαξα functions

def κατι(kati , kati2... ) :

      oti thelo na kanei

 

και με import μεσα απο την βασικη σελιδα καλεσα το def κατι.

Αυτό ήταν που ήθελα να κάνεις και αυτό έκανα και στο παράδειγμα που σου έστειλα. Ονομάζεται modules αυτό που έκανες και είναι πολύ καλή πρακτική (αν οργανωθεί σωστά).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...