İkisinden birine hiç göz gezdirdiniz mi yani şekli, kod biçimi açısından nasıldır diye baktınız mı, bilmiyorum ancak daha önceden kivy ile yazdığım bir programı buraya atabilirim.
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
from kivy.core.window import Window
from kivy.config import Config
from kivy.uix.widget import Widget
from kivy.uix.popup import Popup
from kivy.uix.textinput import TextInput
from kivy.uix.image import Image
import locale
import datetime
import time
locale.setlocale(locale.LC_ALL, "")
class Test(App):
def build(self):
self.düzen = FloatLayout()
self.title = "Cevap Kağıdı"
#Resim
self.resim = Image(source="resim-4.jpg", allow_stretch=True)
#Label
self.şıklar = Label(text="", font_size="50sp", pos_hint={"x":0.01, "y":0.1},
color=[1,1000,1000,1])
self.şık_deposu = ""
#Tarih
self.an = datetime.datetime.now()
self.tarih = datetime.datetime.strftime(self.an, "%d.%m.%Y %A")
self.tarih = str(self.tarih)
self.tarih_göster = Label(text=self.tarih, font_size="30sp", pos_hint={"x":0.38, "y":0.45},
color=[1000,1,1,1])
#Boyutlar
self.şık_boyut = (0.2,0.15)
self.diğer_boyut = (0.2,0.15)
#Diğer butonlar
self.çık = Button(text="Çıkış", font_size="30sp", size_hint=(self.şık_boyut),
pos_hint={"x":0.75, "y":0.05}, on_release=self.çıkış)
self.sil = Button(text="Sil", font_size="30sp", size_hint=(self.şık_boyut),
pos_hint={"x":0.75, "y":0.25}, on_release=self.yazı_sil)
self.geri_alma = Button(text="Geri Al", font_size="30sp", size_hint=(self.şık_boyut),
pos_hint={"x":0.025, "y":0.05}, on_release=self.geri_al_kont)
#Şıklar
self.A_şık = Button(text="A", font_size="40sp", size_hint=(self.şık_boyut),
pos_hint={"x":0.25, "y":0.25})
self.A_şık.bind(on_press=lambda x: self.yaz("-A", None))
self.B_şık = Button(text="B", font_size="40sp", size_hint=(self.şık_boyut),
pos_hint={"x":0.5, "y":0.25})
self.B_şık.bind(on_press=lambda y: self.yaz("-B", None))
self.C_şık = Button(text="C", font_size="40sp", size_hint=(self.şık_boyut),
pos_hint={"x":0.25, "y":0.05})
self.C_şık.bind(on_press=lambda z: self.yaz("-C", None))
self.D_şık = Button(text="D", font_size="40sp", size_hint=(self.şık_boyut),
pos_hint={"x":0.5, "y":0.05})
self.D_şık.bind(on_press=lambda n: self.yaz("-D", None))
#Resim
self.düzen.add_widget(self.resim)
#Butonların düzene aktarılması
self.düzen.add_widget(self.A_şık)
self.düzen.add_widget(self.B_şık)
self.düzen.add_widget(self.C_şık)
self.düzen.add_widget(self.D_şık)
#Diğer elemanlar
self.düzen.add_widget(self.şıklar)
self.düzen.add_widget(self.çık)
self.düzen.add_widget(self.sil)
self.düzen.add_widget(self.geri_alma)
self.düzen.add_widget(self.tarih_göster)
return self.düzen
def yazı_sil(self, olay=None): #Tüm yazıyı silme
self.şık_deposu = ""
self.şıklar.text = ""
def yazı_geri_al(self, olay=None, başlangıç=0, bitiş=-1): #En son yazılanı geri alma
self.şık_deposu = self.şık_deposu[başlangıç:bitiş]
self.şıklar.text = self.şıklar.text[başlangıç:bitiş]
def geri_al_kont(self, olay=None): #A,B,C,D karakterlerinden önce bir şey var ise
if self.şık_deposu[-1] and self.şıklar.text[-1] == "A" or "B" or "C" or "D":
self.yazı_geri_al(başlangıç=0, bitiş=-2)
elif self.şık_deposu[-1] and self.şıklar.text[-1] != "A" or "B" or "C" or "D":
self.yazı_geri_al(başlangıç=0, bitiş=-1)
elif self.şık_deposu[-1] and self.şıklar.text[-1] == "" or " ":
pass
else:
pass
#if self.şık_deposu[-1] and self.şıklar.text[-1] == "A" or "B" or "C" or "D":
# self.yazı_geri_al(başlangıç=0, bitiş=-1)
def yaz(self, şık, olay): #Yazma işlemi
self.şık_deposu += şık
self.şıklar.text = self.şık_deposu[1:]
def çıkış(self, olay=None): #Çıkış
self.düzen = GridLayout(cols=1)
self.düzen.add_widget(Label(text="Çıkmak istiyor musunuz?", size_hint_y=0.3, font_size="30sp"))
self.düzen.add_widget(Widget(size_hint_y=0.1))
self.buton = BoxLayout(size_hint_y=0.2)
self.buton.add_widget(Button(text="Evet", markup=True, size_hint_y=0.7, on_release=self.kontrol))
self.buton.add_widget(Button(text="Hayır", markup=True, size_hint_y=0.7, on_release=self.kontrol))
self.düzen.add_widget(self.buton)
self.popup = Popup(title = "Çıkış",
title_size = "20sp",
content = self.düzen,
auto_dismiss = False,
size_hint = (None,None),
size = (700,500))
self.popup.open()
def kontrol(self, olay=None): #Çıkışı kontrol ederken kullanılmakta
self.buton_yazısı = olay.text
if (self.buton_yazısı == "Evet"):
Window.close()
else:
self.popup.dismiss()
Test().run()
Hatalarım olmuştur, zaten kütüphaneye daha aşina olanlar bilecektir, düzeltecektir. İyi çalışmalar…
Not: Ortaokulda olduğum halde zorlayan hocalarım var. Test kitapları da pahalı olunca internetten ya da arkadaştan alıp işaretlemeden çözmek kalıyor geriye. 