Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: tkinter notebook

tkinter notebook 6 Χρόνια 9 Μήνες πριν #5043

  • cps
  • Το Άβαταρ του/της cps
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 56
Καλησπέρα,

Έχω αυτό το notebook φτιαγμένο με tkinter
from tkinter import*
from tkinter import ttk
 
root=Tk()
 
#notebook
nb = ttk.Notebook(root)
style = ttk.Style()
color = '#fff'
font = ('Times',11)
style.theme_settings("default", {"TNotebook.Tab": {"configure": {"padding": [10, 10, 10, 10], "background":color, "borderwidth":0, "font":font}}})
 
# 1 page
page1 = ttk.Frame(nb, width = 1015,height = 500)
label1=Label(page1, text = 'Σελίδα 1', height= 20, width=100)
label1.grid(column=0, row=0)
 
# 2 page
page2 = ttk.Frame(nb, width=1015, height=500)
label2=Label(page2, text = 'Σελίδα 2', height= 20, width=100)
label2.grid(column=0, row=0)
 
nb.add(page1, text='ένα')
nb.add(page2, text='δύο')
 
nb.grid(column=0, row=0)
 
root.mainloop()

ψάχνοντας να βρω αν μπορώ να το χωρίσω σε τρεις φακέλους (αρχεία.py). Δηλαδή να φτιάξω ένα αρχείο pageone.py όπου θα περιέχει την 1η σελίδα, ένα αρχείο pagetow.py όπου θα περιέχει τη δύτερη σελίδα και ένα αρχείο general.py όπου όταν το τρέξω να μου εμφανίζει το notebook. Βρήκα αυτό
TTK Notebook Share data between imported tabs
Το ερώτημά μου είναι γίνεται χωρίς κλάσεις, και πώς μπορεί να γραφτεί ο κώδικας χωρίς να χρησιμοποιηθούν κλάσεις.
Ευχαριστώ εκ των προτέρων
Τελευταία διόρθωση: 6 Χρόνια 9 Μήνες πριν από cps.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

tkinter notebook 6 Χρόνια 9 Μήνες πριν #5044

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Δεν ξέρω αν κατάλαβα καλά, αλλά δες το παρακάτω:

# page1.py
from tkinter import ttk, Label
 
def page1(parent=None):
    p_1 = ttk.Frame(parent, width=1015, height=500)
    p_1.grid(column=0, row=0)
 
    label1=Label(p_1, text = 'Σελίδα 1', height= 20, width=100)
    label1.grid(column=0, row=0)
 
    return p_1
 
if __name__ == '__main__':
    page1()
# page2.py
from tkinter import ttk, Label
 
def page2(parent=None):
 
    p_2 = ttk.Frame(parent, width=1015,height=500)
    p_2.grid(column=0, row=0)
 
    label1=Label(p_2, text = 'Σελίδα 2', height= 20, width=100)
    label1.grid(column=0, row=0)
 
    return p_2
 
if __name__ == '__main__':
    page2()

Η ένωση:
# pages.py
from tkinter import *
from tkinter import ttk
 
import page1
from page2 import page2
r = Tk()
 
nb = ttk.Notebook(r)
nb.grid()
p1 = page1.page1(nb)
p2 = page2(nb)
nb.add(p1, text="Ένα")
nb.add(p2, text="Δύο")
 
 
mainloop()

Πιστεύω να βοήθησα λίγο. Το κόλπο είναι να επιστρέφεις το Frame, από τις page1 και page2.
Γράφω σε Python 3
Τελευταία διόρθωση: 6 Χρόνια 9 Μήνες πριν από kamar. Αιτία: typo
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": cps

tkinter notebook 6 Χρόνια 9 Μήνες πριν #5045

  • cps
  • Το Άβαταρ του/της cps
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 56
Ευχαριστώ πολύ. Είναι αυτό ακριβώς που έψαχνα.
Εγώ νόμιζα ότι έπρεπε να εισάγω ολόκληρη τη συνάρτηση και δεν ήξερα πώς.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

tkinter notebook 6 Χρόνια 9 Μήνες πριν #5046

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
Το ερώτημά μου είναι γίνεται χωρίς κλάσεις, και πώς μπορεί να γραφτεί ο κώδικας χωρίς να χρησιμοποιηθούν κλάσεις.

Για τη συγκεκριμένη εργασία είναι πιο βολικές οι κλάσεις, γιατί σου δίνουν τη δυνατότητα να επεξεργαστείς, να επεκτείνεις και φυσικά να εκμεταλευτείς τις μεθόδους τους.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

tkinter notebook 6 Χρόνια 9 Μήνες πριν #5047

  • cps
  • Το Άβαταρ του/της cps
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 56
Όπως το λες είναι, αλλά δυστυχώς με τις κλάσεις δεν τα καταφέρνω καλά, έχω καταλάβει ποια είναι η λειτουργία τους, αλλά δεν μπορώ να γράψω κώδικα ακόμα, πάντα κάπου μπερδεύομαι.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

tkinter notebook 6 Χρόνια 9 Μήνες πριν #5048

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 409
  • Ληφθείσες Ευχαριστίες 88
cps έγραψε:
Όπως το λες είναι, αλλά δυστυχώς με τις κλάσεις δεν τα καταφέρνω καλά, έχω καταλάβει ποια είναι η λειτουργία τους, αλλά δεν μπορώ να γράψω κώδικα ακόμα, πάντα κάπου μπερδεύομαι.

Προγραμματισμός == Πειραματισμός :laugh:
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.617 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου