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?
Python'unu versiyonu farklı olabilir.
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=20, weight='bold')
R1 = Radiobutton(root, text="0.1 mm", variable=var, value=1, font=MyHelvetica,command=Sel)
Python 2 için: (Büyük harfe dikkat)
from Tkinter import *
import tkFont
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
Alıntı yapılan: z - 23 Nisan 2020, 17: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(root, text="0.1 mm", variable=var, value=1, font=("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 = Radiobutton( text="0.1 mm", value=1, font=("Helvetica", 20, 'bold'))
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(root, text="0.1 mm", variable=var, value=1, font=("Helvetica", 20, 'bold'),command=sel)
R1.pack( anchor = W )
R2 = Radiobutton(root, text="Option 2", variable=var, value=2, command=sel)
R2.pack( anchor = W )
R3 = Radiobutton(root, text="Option 3", variable=var, value=3, command=sel)
R3.pack( anchor = W)
label = Label(root)
label.pack()
root.mainloop()
(https://i.ibb.co/4F8fqsX/Ekran-g-r-nt-s-2020-04-23-18-11-59.png) (https://ibb.co/4F8fqsX)
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.
------------------
@mehmetSanirim bnim versiyonla ilgili sorunum var.
Ordaki Seli buyuk yazip fonskiyonun adini da Sel koydum.
kucuk yazarsam fonksiyon adini da kucuk yaziyorum.
Terminalde;
python --version
Su anda PC de win10 altinda calisiyorum.
Kodun en başına
# -*- coding: utf-8 -*-
try:
from tkinter import *
except:
from Tkinter import *
eklerseniz pek sorun yaşamazsınız...
Demek ki font kısmı doğruymuş :)
File -> Settings-> Projet: (projectName) ->Python Interpreter buradan bakabilirsiniz
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(root, text=ver)
L1.pack(anchor = W)
#R1 = Radiobutton(root, text="Option 1", variable=var, value=1, command=sel)
R1 = Radiobutton(root, text="0.1 mm", variable=var, value=1, font=("Helvetica", 20, 'bold'),command=sel)
R1.pack( anchor = W )
R2 = Radiobutton(root, text="Option 2", variable=var, value=2, command=sel)
R2.pack( anchor = W )
R3 = Radiobutton(root, text="Option 3", variable=var, value=3, command=sel)
R3.pack( anchor = W)
label = Label(root)
label.pack()
root.mainloop()
Alala versiyonum 3 o zaman
Versiyonum 3.77 (tags/v3.7.7........... [MSC v.1900 64 Bit (AMD64)] imis.
Mumkunse www.picproje.org/index.php/topic,77428.msg592895 bu mesajdaki kodlara bir bakarmisin?
Kodlarimi bunun uzerine insa edecegim.
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?