Tkinter text içine yazı yazma

widget = tk.Text(pencere,height=10,width=20,fg="YELLOW",bg="RED")
widget.place(x=220,y=165)
widget.config(state="disabled")

Front-end’i benim geliştirmemi ister misiniz ? :smiley:

if elif ve else ler çalışmıyor yani yazdırmıyor bilginize

bende diyom niye bişey olmuyo .d
kodu daha okumamaştım

bu arada hata alıyorum :

Exception in Tkinter callback
Traceback (most recent call last):
File “C:\Program Files (x86)\Python38-32\lib\tkinter_init_.py”, line 1883, in call
return self.func(*args)
File “C:/Users/ONAY/Desktop/Otomatik Paket İndirici.py”, line 20, in indir
widget[“text”] = “Lütfen Default olan kısma bir sayı değeri girin(3 veya 2)”
File “C:\Program Files (x86)\Python38-32\lib\tkinter_init_.py”, line 1648, in setitem
self.configure({key: value})
File “C:\Program Files (x86)\Python38-32\lib\tkinter_init_.py”, line 1637, in configure
return self.configure(‘configure’, cnf, kw)
File "C:\Program Files (x86)\Python38-32\lib\tkinter_init
.py", line 1627, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option “-text”

1 Beğeni

daha önce label ile yazıyordum @Emerald_Gamer bana öneride bulundu saolsun onu deneyecektim

Hata var bendede o Text in içine yazabilseydim olmayacaktı
isterseniz 1 dkk bekleyin düzenleyim

Burası içine yazılacak texti oluşturuyor

Alın düzenlenmiş hali

import tkinter as tk
import os
import sys
from subprocess import Popen, PIPE


def upgrade():
    os.system("pip install --upgrade pip")

def indir():
    rand = ["2","3"]
    data1 = değer1.get()
    data2 = değer2.get()

    if data2 == "":
        lamel3["text"] = "Sürüm boş kalamaz"
    elif data1 == "":
        lamel3["text"] = "Kütüphane adı boş kalamaz"
    elif data2 not in rand:
        lamel3["text"] = "Lütfen Default olan kısma bir sayı değeri girin(3 veya 2)"
    else:
        try:
            __import__(data1)
        except ModuleNotFoundError:
            os.system("pip{} install {}".format(data2,data1))
        else:
            lamel3["text"] ="Bu modül zaten yüklü"
        
    
    


pencere = tk.Tk()
pencere.geometry("365x310")
pencere.title("Paket Yükleyici v0.2")
pencere.resizable(False,False)

değer1 = tk.Entry(font="Verdana 13",fg="AQUA")
değer1.place(x=20,y=20)

değer2 = tk.Entry(font="Verdana 13",fg="GREY")
değer2.place(x=20,y=60)
değer2.insert(0,"3")

buton1 = tk.Button(text="İndir",fg="GREEN",font="Verdana 15",command=indir)
buton1.place(x=20,y=100)

buton2 = tk.Button(text="İptal Et",fg="RED",font="Verdana 15",command=sys.exit)
buton2.place(x=20,y=150)

buton3 = tk.Button(text="Pip Güncelle",fg="BLUE",font="Verdana 14",command=upgrade)
buton3.place(x=20,y=200)

lamel1 = tk.Label(text="Kütüphane Adı",fg="RED")
lamel1.place(x=250,y=25)

lamel2 = tk.Label(text="Python sürümü",fg="GREEN")
lamel2.place(x=250,y=65)

lamel3 = tk.Label(text="",fg="RED")
lamel3.place(x=20,y=250)


#widget = tk.Text(pencere,height=10,width=20,fg="YELLOW",bg="RED")
#widget.place(x=220,y=165)
#widget.config(state="disabled")



pencere.mainloop()

Birde pip3 tüm modüllerin listesini al ve list widgetine koy sonra adam listeden seçtiği modülü indirsin ve hata alirsada text widgetine gelsin

O aklıma gelmişti ama şimdi lite içinde gezininceye kadar zaman geçecek
hem onu hallettim sayılır

Hayır arama butonu koyacaksin ama sen bilirsin sadece tavsiye

try ve except ile çözdüm gerek kalmadı

Haa anladim eğer girilen modül gerçek degilse
Ama bence liste işi daha hoş olurdu pycharmdaki gibi

rastgele modül hatası sorununu

try:
            __import__(data1)
        except ModuleNotFoundError:
            os.system("pip{} install {}".format(data2,data1))
        else:
            lamel3["text"] ="Bu modül zaten yüklü"
        

bu örnekteki gibi

Anladım aciklamana gerek yok

Daha iyisi: Bir entry’ye girilecek kütüphane adı için requests ile pypi’de arama yapmak ve sonuçları göstermek.

Söylediğiniz mi yoksa iç içe iki tane try ve except koymakmı mantıklı

size kalmış biz en azından ben kullanmicam uygulamayı sonuçta kendini geliştirmek isiyorsan kolaya kacmamalisin