from tkinter import * <\code> yazmama rağmen
messagebox.showinfo(“uyarı”) <\code> yazdığımda olmuyor
from tkinter import messagebox <\code> yazarsam oluyor. İlk yazdığım code neden olmuyor?
Message box ayrı bir modül. Tkinterin içinde değil. Tkinterdeki dosyalara bakarsanız daha iyi anlarsınız.
bütün modülleri import modül_adı <\code> yazarak içe aktarabiliyoruz ama import messagebox <\code> yazarak içe aktarılmıyor yani bunda farklı bir şeyler var ğaliba ama çözemedim.
tkinter paketin adı import tkinter
yazdığınızda paketi içindeki __init__
modülünü içeri aktarırsınız yani aslında tkinter diye bir modül yoktur. Eğer messagebox modülünü içeri aktarmak isterseniz import tkinter.messagebox
diye tkinter paketinde olduğunu belirtmeniz gerekir.
yani 2 tanemi tkinter modülü var biri mesaj için diğeri widgetlar için?
Aşağıdaki resim tkinter’in bulunduğu klasöre ait. Orada gördüğünüz her bir .py dosyası bir modüldür.
Widgetler için __init__.py
dosyasını kullanıyorsunuz. Yani import tkinter
yazdığınızda bu __init__.py
dosyası import edilmiş olur.
__init__.py
modülünü şu şekilde de import edebilirsiniz:
import tkinter.__init__ # Bu yazdığımız ile,
import tkinter # Bu yazdığımız aynı işlemi yapar.