06 Temmuz 2020, 09:19:54

Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H


Python da anlayamadigim hatalar ve cozumleri

Başlatan z, 23 Nisan 2020, 20:27:10

z

Ornegin Radiobutton kullanalim.

https://www.tutorialspoint.com/python/python_gui_programming.htm

sayfasindan Radiobuttonla ilgili asagidaki sayfaya geciyorum.

https://www.tutorialspoint.com/python/tk_radiobutton.htm

option kisminda font parametresi oldugunu goruyorum ve

asagidaki dizilimi yapiyorum.

R1 = Radiobutton(root, text="0.1 mm", variable=var, value=1, command=Sel)

Hatasiz calisiyor.

Fakat fontu da degistirmek icin

R1 = Radiobutton(root, text="0.1 mm", variable=var, value=1, font=("Helvetica", 20, 'bold'),command=Sel)

yapiyorum.

Kodu calistirmak istedigimde _tkinter.TclError: unknown option "-font" hatasi aliyorum.

Halbuki font parametresi yukaridaki linkte olabilir eklenebilir goruluyor.

Nerde yanlis yapiyorum?

bsenguler


robikod

23 Nisan 2020, 20:40:40 #2 Son düzenlenme: 23 Nisan 2020, 20:41:58 robikod
Merhaba, aşağıdaki gibi deneyebilir misiniz ?

Python 3 için:
from tkinter import *  
from tkinter import font as tkFont 

MyHelvetica
=tkFont.Font(family='Helvetica'size=20weight='bold')

R1 Radiobutton(roottext="0.1 mm"variable=var, value=1font=MyHelvetica,command=Sel)

Python 2 için: (Büyük harfe dikkat)
from Tkinter import *  
import tkFont

z

Asagidaki hatalari aliyorum

Ilk durum icin

Traceback (most recent call last):
  File "C:/Users/Bulent/PycharmProjects/Deneme/MyProg.py", line 6, in <module>
    MyHelvetica=tkFont.Font(family='Helvetica', size=20, weight='bold')
  File "C:\Users\Bulent\AppData\Local\Programs\Python\Python37\lib\tkinter\font.py", line 93, in __init__
    tk.call("font", "create", self.name, *font)
AttributeError: 'NoneType' object has no attribute 'call'

--------------------------------------

Ikinci durum icin

Traceback (most recent call last):
  File "C:/Users/Bulent/PycharmProjects/Deneme/MyProg.py", line 2, in <module>
    import tkFont
ModuleNotFoundError: No module named 'tkFont'

Process finished with exit code 1

robikod

Alıntı yapılan: z - 23 Nisan 2020, 20:56:37Asagidaki hatalari aliyorum

Ilk durum icin

Traceback (most recent call last):
  File "C:/Users/Bulent/PycharmProjects/Deneme/MyProg.py", line 6, in <module>
    MyHelvetica=tkFont.Font(family='Helvetica', size=20, weight='bold')
  File "C:\Users\Bulent\AppData\Local\Programs\Python\Python37\lib\tkinter\font.py", line 93, in __init__
    tk.call("font", "create", self.name, *font)
AttributeError: 'NoneType' object has no attribute 'call'

--------------------------------------

Ikinci durum icin

Traceback (most recent call last):
  File "C:/Users/Bulent/PycharmProjects/Deneme/MyProg.py", line 2, in <module>
    import tkFont
ModuleNotFoundError: No module named 'tkFont'

Process finished with exit code 1

Şimdi sizin ilk başta çalıştığınız komutu denedim:
R1 Radiobutton(roottext="0.1 mm"variable=var, value=1font=("Helvetica"20'bold'),command=Sel)



burada root, command, variable değişkenlerini kaldırdım. Nasıl tanımladığınızı bilmiyorum kodun mevcut haline göre.

Python3 ile aşağıdaki satırda hiç hata almadım. Font kısmında bir hata olmayabilir belki.
from tkinter import *

R1 Radiobuttontext="0.1 mm"value=1font=("Helvetica"20'bold'))

mehmet

23 Nisan 2020, 21:14:09 #5 Son düzenlenme: 23 Nisan 2020, 21:16:07 mehmet
sel() fonksiyonu küçük harflerle yazılmış...

from tkinter import *

def sel():
  
selection "You selected the option " str(var.get())
  
label.config(text selection)

root Tk()
var = 
IntVar()

#R1 = Radiobutton(root, text="Option 1", variable=var, value=1, command=sel)#"Sel" değil...

R1 Radiobutton(roottext="0.1 mm"variable=var, value=1font=("Helvetica"20'bold'),command=sel)
R1.packanchor )

R2 Radiobutton(roottext="Option 2"variable=var, value=2command=sel)
R2.packanchor )

R3 Radiobutton(roottext="Option 3"variable=var, value=3command=sel)
R3.packanchor W)

label Label(root)
label.pack()
root.mainloop()


z

23 Nisan 2020, 21:14:24 #6 Son düzenlenme: 23 Nisan 2020, 21:18:16 z
Bendeki o zaman Python 2. Cunku sizin yaptiginiz gibi denedigimde gene font icin unkown option  diye hata veriyor.

Emin olmak icin bendekinin versiyonunu nerden ogrenebilirim.

Pycharm programini kurdum bana versiyon vs sormadi.

------------------

@mehmet

Sanirim bnim versiyonla ilgili sorunum var.

Ordaki Seli buyuk yazip fonskiyonun adini da Sel koydum.
kucuk yazarsam  fonksiyon adini da kucuk yaziyorum.

mehmet


z


mehmet

Kodun en başına
# -*- coding: utf-8 -*-

try:
	
from tkinter import *
except:
	
from Tkinter import *
eklerseniz pek sorun yaşamazsınız...

robikod

Demek ki font kısmı doğruymuş  :)

File -> Settings-> Projet: (projectName) ->Python Interpreter buradan bakabilirsiniz

mehmet

Version da başta yazar...

try:
	
from tkinter import *
except:
	
from Tkinter import *

import sys

def sel
():
   
selection "You selected the option " str(var.get())
   
label.config(text selection)

root Tk()
var = 
IntVar()

ver sys.version

L1 
Label(roottext=ver)
L1.pack(anchor W)

#R1 = Radiobutton(root, text="Option 1", variable=var, value=1, command=sel)

R1 Radiobutton(roottext="0.1 mm"variable=var, value=1font=("Helvetica"20'bold'),command=sel)
R1.packanchor )

R2 Radiobutton(roottext="Option 2"variable=var, value=2command=sel)
R2.packanchor )

R3 Radiobutton(roottext="Option 3"variable=var, value=3command=sel)
R3.packanchor W)

label Label(root)
label.pack()
root.mainloop()

z

Alala versiyonum 3 o zaman

Versiyonum 3.77 (tags/v3.7.7........... [MSC v.1900 64 Bit (AMD64)] imis.

z

Mumkunse www.picproje.org/index.php/topic,77428.msg592895 bu mesajdaki kodlara bir bakarmisin?

Kodlarimi bunun uzerine insa edecegim.

z

tkinter kullanarak

form üzerine bir kaç tane radiobutton yerleştiriyorum.

Ancak bunların hepsi de uncheck durumunda görünüyor. Bunlardan istediğim birisini program çalıştığında karşımda check edilmiş görmek istiyorum.

Yani default seçim yapılmış olmalı. Beğenmezsem tıklayarak seçim yapabilmeliyim.

Radiobutton'un yazılımla check edili hale getirilmesi nasıl olacak?