Merhabalar ben açılır pencereye scrollbar eklemek istiyorum tkinter da nasıl yapabilirim ?
import tkinter => Windowsta
from Tkinter improt * => Linuxde
pencere = Tk()
pencere.title("Deneme Penceremiz")
pencere.mainloop()
Merhabalar ben açılır pencereye scrollbar eklemek istiyorum tkinter da nasıl yapabilirim ?
import tkinter => Windowsta
from Tkinter improt * => Linuxde
pencere = Tk()
pencere.title("Deneme Penceremiz")
pencere.mainloop()
Merhaba,
#
yorum işareti ile yapmalısınız.import tkinter # => Windows'da
from Tkinter import * # => Linux'de
import tkinter
, Linux’de de from Tkinter import *
kullanılmalı diye bir durum yok. Eğer Windows’da Python3 yüklü ise import tkinter as tk
şeklinde ve Linux’de de Python2 yüklüyse import Tkinter as tk
şeklinde import edebilirsiniz. İşletim sistemine veya Python sürümüne göre modülleri programın içine aktarılmasını istiyorsanız, kodlarınızı bu duruma hazırlıklı hale getirin. Örneğin:if __import__("sys").version_info.major == 2:
import Tkinter as tk
else:
import tkinter as tk
from tkinter import *
ifadesini tercih etmemeye çalışın, yine de siz bilirsiniz.improt
kısmında ufak bir hata yapılmış.Sorunuzun cevabı:
if __import__("sys").version_info.major == 2:
import Tkinter as tk
else:
import tkinter as tk
# Alternatif olarak aşağıdaki gibi de import etmeyi deneyebilirsiniz.
"""
try:
import Tkinter as tk # Python2 için
except ModuleNotFoundError:
import tkinter as tk # Python3 için
"""
root = tk.Tk()
root.title("Ana Pencere")
root.resizable(width=False, height=False)
frame = tk.Frame(master=root)
frame.pack()
text = tk.Text(master=frame, wrap="none")
text.pack(side="left")
y_scrollbar = tk.Scrollbar(master=frame)
y_scrollbar.pack(side="right", fill="y")
y_scrollbar["orient"] = "vertical"
y_scrollbar["command"] = text.yview
x_scrollbar = tk.Scrollbar(master=root)
x_scrollbar.pack(side="bottom", fill="x")
x_scrollbar["orient"] = "horizontal"
x_scrollbar["command"] = text.xview
text["yscrollcommand"] = y_scrollbar.set
text["xscrollcommand"] = x_scrollbar.set
root.mainloop()
Ayrıntılı bilgi için aşağıdaki bağlantıyı ziyaret edin.
çok teşekkür ederim allah razı olsun sizden
Ben Açılır pencereye nasıl ekleyebilirim acaba o konuda da yardımcı olursanız sevinirim efendim text dosyasına değilde açılır pencereye nakletmek isterim
def kullanicipaneli(self,):
global sonuc1
sonuc1.config(text=u"Kullanıcı Yönetim Paneli Açılmıştır.")
kullaniciislemi = Tk()
kullaniciislemi.title("Kullanıcı Yönetim Paneli")
y_scrollbar = Scrollbar(master=kullaniciislemi)
y_scrollbar.pack(side="right", fill="y")
y_scrollbar["orient"] = "vertical"
x_scrollbar = Scrollbar(master=kullaniciislemi)
x_scrollbar.pack(side="bottom", fill="x")
x_scrollbar["orient"] = "horizontal"
im.execute('SELECT * FROM kullanici')
account = im.fetchall()
for kullanici in account:
kullaniciid1 = kullanici[0]
kullaniciid = int(kullaniciid1)
kullaniciadi = kullanici[1]
kullanicisoyadi = kullanici[2]
kullanicicinsiyet = kullanici[3]
kullaniciyasadigiil = kullanici[4]
kullaniciolaganustuiletisimkurulacakkisi = kullanici[5]
kullaniciolaganustuiletisimkurulacakkisitelno1 = kullanici[6]
kullaniciolaganustuiletisimkurulacakkisitelno = int(kullaniciolaganustuiletisimkurulacakkisitelno1)
kullanicikayittarihi = kullanici[7]
kullanicibilgileriyazi = Label(kullaniciislemi)
kullanicibilgileriyazi.config(text=u"Kullanıcı İd : "+ str(kullaniciid) + "\nKullanıcı Adı : " + kullaniciadi + "\nKullanıcı Soyadı : " + kullanicisoyadi + "\nKullanıcı Cinsiyeti : " + kullanicicinsiyet + "\nKullanıcı Yaşadığı İli : " + kullaniciyasadigiil + "\nKullanıcı Olağan Üstü Durumda Aranacak Kişinin İsmi : " + kullaniciolaganustuiletisimkurulacakkisi + "\nKullanıcı Olağan Üstü Durumda Aranacak Kişinin Tel No : " + str(kullaniciolaganustuiletisimkurulacakkisitelno) + "\nKayıt Olduğu Tarih : " + unicode(kullanicikayittarihi))
kullanicibilgileriyazi.pack()
aracizgi = Label(kullaniciislemi)
aracizgi.config(text=u"==============================")
aracizgi.pack()
kullaniciekle = Button(kullaniciislemi, text=u"Kullanıcı Ekle", command=lambda:kullaniciislemleri().kullaniciekle())
kullaniciekle.pack()
aracizgi = Label(kullaniciislemi)
aracizgi.config(text=u"==============================")
aracizgi.pack()
kullaniciduzenle = Button(kullaniciislemi, text=u"Kullanıcı Düzenle", command=lambda:kullaniciislemleri().kullaniciduzenle())
kullaniciduzenle.pack()
aracizgi = Label(kullaniciislemi)
aracizgi.config(text=u"==============================")
aracizgi.pack()
kullanicisil = Button(kullaniciislemi, text=u"Kullanıcı Sil", command=lambda:kullaniciislemleri().kullanicisil())
kullanicisil.pack()
global sonuc2
sonuc2 = Label(kullaniciislemi)
sonuc2.config(text=u"")
sonuc2.pack()
kullaniciislemi.mainloop()
ekledim ama çalışmıyor nedenini bilmiyorum
Aciliyeti olmayan sorulari “acil yardim” basliklarinda sormayalim lutfen. Aciliyeti var diye geldim, orijinal sorunun uzerinden 11 saat gecmis, aciliyeti bitmis. Fakat sabah normal soruyla devam ediliyor…
Neden kodlarınızın tamamını atmıyorsunuz? Paylaştığınız bu kodlarda bazı değişkenler NameError
hatası yükseltecek.
Ana pencerenin yani tk.Tk()
'nın x.view
veya y.view
gibi fonksiyonları yok. Dolayısıyla kaydırma çubuklarını tk.Tk()
'ya ekleyemezsiniz. Aynı durum tk.Frame()
widgeti için de geçerli. Bu durumda bir tk.Canvas()
widgeti kullanmanız gerekir. Canvas widgetinin içine de bir tane tk.Frame()
yerleştirirsiniz.
Aşağıdaki kodları kendi programınıza uyarlamaya çalışın.
import tkinter as tk
# Ana penceremiz
root = tk.Tk()
root.title("Ana Pencere")
root.geometry("800x600")
root.resizable(width=False, height=False)
# Ana çerçevemiz
frame = tk.Frame(master=root)
frame.pack(expand=True, fill=tk.BOTH)
# Kaydırma işlemi için kullanılacak canvas
canvas = tk.Canvas(master=frame)
# Canvas widgetinde açılacak yeni çerçeveyi
# pack ile ekrana yerleştirmeyeceğiz.
sub_frame = tk.Frame(master=canvas)
# Y ekseninin kaydırma çubuğu
y_scrollbar = tk.Scrollbar(master=frame)
y_scrollbar["orient"] = tk.VERTICAL
y_scrollbar["command"] = canvas.yview
# X ekseninin kaydırma çubuğu
x_scrollbar = tk.Scrollbar(master=frame)
x_scrollbar["orient"] = tk.HORIZONTAL
x_scrollbar["command"] = canvas.xview
# Canvas'ta yer alacak kaydırma çubuklarının
# komutlarını hangi kaydırma çubuğunun yapacağını yazıyoruz.
canvas["yscrollcommand"] = y_scrollbar.set
canvas["xscrollcommand"] = x_scrollbar.set
# Kaydırma çubuklarını ekrana yerleştiriyoruz.
y_scrollbar.pack(side="right", fill=tk.Y)
x_scrollbar.pack(side="bottom", fill=tk.X)
# Canvas widgetini de ekrana yerleştiriyoruz.
canvas.pack(expand=True, fill=tk.BOTH)
# Canvas widgetinde etkili olacak bir çerçeve tanımlıyoruz.
canvas.create_window((4, 4), window=sub_frame, anchor="nw")
# Açılacak çerçevede hangi işlemin yapılacağını tanımlıyoruz.
sub_frame.bind(
sequence="<Configure>",
func=lambda event: canvas.configure(scrollregion=canvas.bbox(tk.ALL))
)
# Kaydırma çubuklarının kullanılabilmesi için sayfayı herhangi bir
# widget ile dolduruyoruz.
for i in range(50):
for j in range(50):
label = tk.Label(master=sub_frame, text=f"r{i}c{j}")
label.grid(row=i, column=j)
root.update()
root.mainloop()
Bu kodları çalıştırırsanız şöyle bir pencerenin açılması gerekir.
[quote="dildeolupbiten, post:8, topic:5516"]
import tkinter as tk # Ana penceremiz root = tk.Tk() root.title("Ana Pencere") root.geometry("800x600") root.resizable(width=False, height=False) # Ana çerçevemiz frame = tk.Frame(master=root) frame.pack(expand=True, fill=tk.BOTH) # Kaydırma işlemi için kullanılacak canvas canvas = tk.Canvas(master=frame) # Canvas widgetinde açılacak yeni çerçeveyi # pack ile ekrana yerleştirmeyeceğiz. sub_frame = tk.Frame(master=canvas) # Y ekseninin kaydırma çubuğu y_scrollbar = tk.Scrollbar(master=frame) y_scrollbar["orient"] = tk.VERTICAL y_scrollbar["command"] = canvas.yview # X ekseninin kaydırma çubuğu x_scrollbar = tk.Scrollbar(master=frame) x_scrollbar["orient"] = tk.HORIZONTAL x_scrollbar["command"] = canvas.xview # Canvas'ta yer alacak kaydırma çubuklarının # komutlarını hangi kaydırma çubuğunun yapacağını yazıyoruz. canvas["yscrollcommand"] = y_scrollbar.set canvas["xscrollcommand"] = x_scrollbar.set # Kaydırma çubuklarını ekrana yerleştiriyoruz. y_scrollbar.pack(side="right", fill=tk.Y) x_scrollbar.pack(side="bottom", fill=tk.X) # Canvas widgetini de ekrana yerleştiriyoruz. canvas.pack(expand=True, fill=tk.BOTH) # Canvas widgetinde etkili olacak bir çerçeve tanımlıyoruz. canvas.create_window((4, 4), window=sub_frame, anchor="nw") # Açılacak çerçevede hangi işlemin yapılacağını tanımlıyoruz. sub_frame.bind( sequence="<Configure>", func=lambda event: canvas.configure(scrollregion=canvas.bbox(tk.ALL)) ) # Kaydırma çubuklarının kullanılabilmesi için sayfayı herhangi bir # widget ile dolduruyoruz. for i in range(50): for j in range(50): label = tk.Label(master=sub_frame, text=f"r{i}c{j}") label.grid(row=i, column=j) root.update() root.mainloop()
[/quote]
#/usr/bin/env Python
#-*-coding:utf-8-*-
#0-Ana Panel+
#0.1-Kayıt Ol
#0.0.0-Kullanıcı İd
#0.1.1-Kullanıcı Adı
#0.1.2-Kullanıcı Soyadı
#0.1.3-Kullanıcı Cinsiyeti
#0.1.4-Kullanıcı Yaşadığı İli
#0.1.5-Kullanıcı Olağanüstü Durumda İletişim Kurulacak Kişi
#0.1.6-Kullanıcı Olağanüstü Durumda İletişim Kurulacak Kişinin Tel Numarası
#0.1.7-Kullanıcı Şifresi
#0.1.8-Kullanıcı Kayıt Olduğu Tarihi
#0.2-Giriş Yap = 1. Şartı Çekecek
#0.2.1-Kullanıcı Paneli
#0.2.2-Kullanıcı Komut Ekleme
#0.2.3-Kullanıcı Komut Düzenleme
#0.2.4-Kullanıcı Komut Silme
#0.2.5-Asistan Yönetimi
from io import open
import time
import datetime
from datetime import date
import os
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
from Tkinter import * as tk
connection = mysql.connector.connect(
user='root', password='1968Hram',
host='127.0.0.1', port=3306,
database='YAPAYZEKA')
im = connection.cursor()
class girisyappanelislem():
def girisyap(self,):
pass
class kayitolpanelislem():
def kayitol(sefl,):
pass
class anapanel():
def kayitolpanel(self,):
global sonuc
sonuc.config(text=u"Kayıt Olma Bölümü Paneli Açılmıştır")
def girisyappanel(self,):
global sonuc
sonuc.config(text=u"Giriş Yapma Bölümü Paneli Açılmıştır")
def anapanelgiris(self,):
anapanelgirispanel = Tk()
anapanelgirispanel.title("Ana Panel Bölümü")
kayitolbutton = Button(anapanelgirispanel, text=u"Kayıt Ol", command=lambda:anapanel().kayitolpanel())
kayitolbutton.pack()
aracizgi = Label(anapanelgirispanel)
aracizgi.config(text=u"==============================")
aracizgi.pack()
girisyapbutton = Button(anapanelgirispanel, text=u"Giriş Yap", command=lambda:anapanel().girisyappanel())
girisyapbutton.pack()
aracizgi = Label(anapanelgirispanel)
aracizgi.config(text=u"==============================")
aracizgi.pack()
global sonuc
sonuc = Label(anapanelgirispanel)
sonuc.config(text=u"")
sonuc.pack()
anapanelgirispanel.mainloop()
anapanel().anapanelgiris()
kod blogum bu buyrun ben ne yaptıysam import edemedim
Lütfen yanlış anlamayın ama, kodları düzgün, okunaklı, Python kurallarına uygun bir şekilde yazmıyorsunuz.
İkincisi bir mevzu da şu mesela; aşağıdaki ifadeyi neden öyle yazdınız ki? Böyle bir ifadeyi nerede gördünüz şu ana kadar?
from Tkinter import * as tk
Programı çalıştırdığım zaman şöyle bir ekran açılıyor:
Bu ekranın neresinde kaydırma çubuğuna ihtiyaç duyacaksınız ki? Zaten iki tane düğme tanımlamışsınız.
Bu arada kodlarınıza kaydırma çubuğu ekledim. Eğer yazdığım şey konusunda birazcık bilginiz olsaydı değişikliği nasıl yapacağınızı anlardınız. Ama siz daha nerede ne değişiklik yapılması gerekiyor bunlar bilmiyor gibi görünüyorsunuz.
Siz Python’ı yeterince öğrenmeden mysql
veya tkinter
kullanmaya çalışıyorsunuz. Dolayısıyla her aşamada bir hatayla karşılaşıyorsunuz ki bu çok normal. Naçizane tavsiyem adım adım ilerleyin. Tkinter kütüphanesini bir inceleyin. Bakın sizinle bir link paylaştım, onu bir inceleyin. Orada her widget için örnekler yapılmış. Her widgetin hangi özellikleri olduğu gösterilmiş. Ama siz eğer bu paylaştığım linki incelemezseniz, korkarım sürekli böyle sorular sormak zorunda kalırsınız. Ve bu yolla pek bir şey öğrenebileceğinize ihtimal veremiyorum.
Lütfen yanlış anlamayın. Ama bazı şeyleri yapabilmek için o konuda okumalar, araştırmalar yapmak gerekiyor. Yazdığınız mesajlardan sizin bunu yapmadığınız anlaşılıyor.
# 0-Ana Panel+
# 0.1-Kayıt Ol
# 0.0.0-Kullanıcı İd
# 0.1.1-Kullanıcı Adı
# 0.1.2-Kullanıcı Soyadı
# 0.1.3-Kullanıcı Cinsiyeti
# 0.1.4-Kullanıcı Yaşadığı İli
# 0.1.5-Kullanıcı Olağanüstü Durumda İletişim Kurulacak Kişi
# 0.1.6-Kullanıcı Olağanüstü Durumda İletişim Kurulacak Kişinin Tel Numarası
# 0.1.7-Kullanıcı Şifresi
# 0.1.8-Kullanıcı Kayıt Olduğu Tarihi
# 0.2-Giriş Yap = 1. Şartı Çekecek
# 0.2.1-Kullanıcı Paneli
# 0.2.2-Kullanıcı Komut Ekleme
# 0.2.3-Kullanıcı Komut Düzenleme
# 0.2.4-Kullanıcı Komut Silme
# 0.2.5-Asistan Yönetimi
from io import open
import time
import datetime
from datetime import date
import os
import sys
from tkinter import *
"""connection = mysql.connector.connect(
user='root', password='1968Hram',
host='127.0.0.1', port=3306,
database='YAPAYZEKA')
im = connection.cursor()"""
class girisyappanelislem():
def girisyap(self, ):
pass
class kayitolpanelislem():
def kayitol(sefl, ):
pass
class anapanel():
def kayitolpanel(self, ):
global sonuc
sonuc.config(text=u"Kayıt Olma Bölümü Paneli Açılmıştır")
def girisyappanel(self, ):
global sonuc
sonuc.config(text=u"Giriş Yapma Bölümü Paneli Açılmıştır")
def anapanelgiris(self, ):
anapanelgirispanel = Tk()
anapanelgirispanel.title("Ana Panel Bölümü")
# Ana çerçevemiz
frame = Frame(master=anapanelgirispanel)
frame.pack(expand=True, fill=BOTH)
# Kaydırma işlemi için kullanılacak canvas
canvas = Canvas(master=frame)
# Canvas widgetinde açılacak yeni çerçeveyi
# pack ile ekrana yerleştirmeyeceğiz.
sub_frame = Frame(master=canvas)
# Y ekseninin kaydırma çubuğu
y_scrollbar = Scrollbar(master=frame)
y_scrollbar["orient"] = VERTICAL
y_scrollbar["command"] = canvas.yview
# X ekseninin kaydırma çubuğu
x_scrollbar = Scrollbar(master=frame)
x_scrollbar["orient"] = HORIZONTAL
x_scrollbar["command"] = canvas.xview
# Canvas'ta yer alacak kaydırma çubuklarının
# komutlarını hangi kaydırma çubuğunun yapacağını yazıyoruz.
canvas["yscrollcommand"] = y_scrollbar.set
canvas["xscrollcommand"] = x_scrollbar.set
# Kaydırma çubuklarını ekrana yerleştiriyoruz.
y_scrollbar.pack(side="right", fill=Y)
x_scrollbar.pack(side="bottom", fill=X)
# Canvas widgetini de ekrana yerleştiriyoruz.
canvas.pack(expand=True, fill=BOTH)
# Canvas widgetinde etkili olacak bir çerçeve tanımlıyoruz.
canvas.create_window((4, 4), window=sub_frame, anchor="nw")
# Açılacak çerçevede hangi işlemin yapılacağını tanımlıyoruz.
sub_frame.bind(
sequence="<Configure>",
func=lambda event: canvas.configure(scrollregion=canvas.bbox(ALL))
)
kayitolbutton = Button(frame, text=u"Kayıt Ol", command=lambda: anapanel().kayitolpanel())
kayitolbutton.pack()
aracizgi = Label(frame)
aracizgi.config(text=u"==============================")
aracizgi.pack()
girisyapbutton = Button(frame, text=u"Giriş Yap", command=lambda: anapanel().girisyappanel())
girisyapbutton.pack()
aracizgi = Label(frame)
aracizgi.config(text=u"==============================")
aracizgi.pack()
global sonuc
sonuc = Label(frame)
sonuc.config(text=u"")
sonuc.pack()
anapanelgirispanel.mainloop()
anapanel().anapanelgiris()
Programı çalıştırınca şöyle bir ekran görmeniz gerekiyor.
teşekkrü ederim bu bir örnekti ileride görürsünüz inşallah
Rica ederim, kolay gelsin. Beni yanlış anlamayın lütfen…
estağfurullah efendim dilerseniz sizinle gerçek hayatta tanımak ve projeme yardımcı olmanızı dilerim canı gönülden
File "adminpaneli.py", line 722
kullaniciekle = Button(frame, text=u"Kullanıcı Ekle", command=lambda:kullaniciislemleri().kullaniciekle())
^
IndentationError: unindent does not match any outer indentation level
ekledim ama bu sefer böyle hata almaktayım
Girinti hatası bu, girintiye dikkat edin.
Vaktimiz olduğunda buradan yardım etmeye çalışıyoruz. Siz nasıl bir yardımdan bahsediyorsunuz acaba?
Ben python pascal c ve c++ az çok orta derecede biliyorum veya bildiğimi zannediyorum herneyse bir veritabanı olan ve sunucusu olan heryerden erişilebilir heryerden ulaşılabilir komut haznesi kişinin hayali ve isteklerine kalmış bir şekilde bıraktım sesli asistan yapıyorum ama daha yeniyim admin paneli yaptım ama uzak mysql ekli değil sonrasına sunucu ile dosya alış veriş tranfer işlemleri falan kalıyor
def kullanicipaneli(self,):
global sonuc1
sonuc1.config(text=u"Kullanıcı Yönetim Paneli Açılmıştır.")
kullaniciislemi = Tk()
kullaniciislemi.title("Kullanıcı Yönetim Paneli")
# Ana çerçevemiz
frame = Frame(master=kullaniciislemi)
frame.pack(expand=True, fill=BOTH)
# Kaydırma işlemi için kullanılacak canvas
canvas = Canvas(master=frame)
# Canvas widgetinde açılacak yeni çerçeveyi
# pack ile ekrana yerleştirmeyeceğiz.
sub_frame = Frame(master=canvas)
# Y ekseninin kaydırma çubuğu
y_scrollbar = Scrollbar(master=frame)
y_scrollbar["orient"] = VERTICAL
y_scrollbar["command"] = canvas.yview
# X ekseninin kaydırma çubuğu
x_scrollbar = Scrollbar(master=frame)
x_scrollbar["orient"] = HORIZONTAL
x_scrollbar["command"] = canvas.xview
# Canvas'ta yer alacak kaydırma çubuklarının
# komutlarını hangi kaydırma çubuğunun yapacağını yazıyoruz.
canvas["yscrollcommand"] = y_scrollbar.set
canvas["xscrollcommand"] = x_scrollbar.set
# Kaydırma çubuklarını ekrana yerleştiriyoruz.
y_scrollbar.pack(side="right", fill=Y)
x_scrollbar.pack(side="bottom", fill=X)
# Canvas widgetini de ekrana yerleştiriyoruz.
canvas.pack(expand=True, fill=BOTH)
# Canvas widgetinde etkili olacak bir çerçeve tanımlıyoruz.
canvas.create_window((4, 4), window=sub_frame, anchor="nw")
# Açılacak çerçevede hangi işlemin yapılacağını tanımlıyoruz.
sub_frame.bind(
sequence="<Configure>",
func=lambda event: canvas.configure(scrollregion=canvas.bbox(ALL))
)
im.execute('SELECT * FROM kullanici')
account = im.fetchall()
for kullanici in account:
kullaniciid1 = kullanici[0]
kullaniciid = int(kullaniciid1)
kullaniciadi = kullanici[1]
kullanicisoyadi = kullanici[2]
kullanicicinsiyet = kullanici[3]
kullaniciyasadigiil = kullanici[4]
kullaniciolaganustuiletisimkurulacakkisi = kullanici[5]
kullaniciolaganustuiletisimkurulacakkisitelno1 = kullanici[6]
kullaniciolaganustuiletisimkurulacakkisitelno = int(kullaniciolaganustuiletisimkurulacakkisitelno1)
kullanicirumuz = kullanici[7]
kullanicisifre = kullanici[8]
kullanicikayittarihi = kullanici[9]
kullanicibilgileriyazi = Label(frame)
kullanicibilgileriyazi.config(text=u"Kullanıcı Rumuz : " + kullanicirumuz + "\nKullanıcı Şifresi : " + kullanicisifre + "\nKullanıcı İd : "+ str(kullaniciid) + "\nKullanıcı Adı : " + kullaniciadi + "\nKullanıcı Soyadı : " + kullanicisoyadi + "\nKullanıcı Cinsiyeti : " + kullanicicinsiyet + "\nKullanıcı Yaşadığı İli : " + kullaniciyasadigiil + "\nKullanıcı Olağan Üstü Durumda Aranacak Kişinin İsmi : " + kullaniciolaganustuiletisimkurulacakkisi + "\nKullanıcı Olağan Üstü Durumda Aranacak Kişinin Tel No : " + str(kullaniciolaganustuiletisimkurulacakkisitelno) + "\nKullanıcı Şifresi : " + kullanicisifre + "\nKayıt Olduğu Tarih : " + unicode(kullanicikayittarihi))
kullanicibilgileriyazi.pack()
aracizgi = Label(frame)
aracizgi.config(text=u"==============================")
aracizgi.pack()
kullaniciekle = Button(kullaniciislemi, text=u"Kullanıcı Ekle", command=lambda:kullaniciislemleri().kullaniciekle())
kullaniciekle.pack()
aracizgi = Label(kullaniciislemi)
aracizgi.config(text=u"==============================")
aracizgi.pack()
kullaniciduzenle = Button(kullaniciislemi, text=u"Kullanıcı Düzenle", command=lambda:kullaniciislemleri().kullaniciduzenle())
kullaniciduzenle.pack()
aracizgi = Label(kullaniciislemi)
aracizgi.config(text=u"==============================")
aracizgi.pack()
kullanicisil = Button(kullaniciislemi, text=u"Kullanıcı Sil", command=lambda:kullaniciislemleri().kullanicisil())
kullanicisil.pack()
global sonuc2
sonuc2 = Label(kullaniciislemi)
sonuc2.config(text=u"")
sonuc2.pack()
kullaniciislemi.mainloop()
sizin başınızı ağrıtıyorum özür dilerim
File "adminpaneli.py", line 699
im.execute('SELECT * FROM kullanici')
^
IndentationError: unexpected indent
hatası veriyor yukarıdaki kod
Yine girinti hatası, girintiye dikkat edin.
#!/usr/bin/env python3.7
# -*- coding: utf-8 -*-
def kullanicipaneli(self, ):
global sonuc1
sonuc1.config(text=u"Kullanıcı Yönetim Paneli Açılmıştır.")
kullaniciislemi = Tk()
kullaniciislemi.title("Kullanıcı Yönetim Paneli")
# Ana çerçeve
frame = Frame(master=kullaniciislemi)
frame.pack(expand=True, fill=BOTH)
# Kaydırma işlemi için kullanılacak canvas
canvas = Canvas(master=frame)
# Canvas widgetinde açılacak yeni çerçeveyi
# pack ile ekrana yerleştirmeyeceğiz.
sub_frame = Frame(master=canvas)
# Y ekseninin kaydırma çubuğu
y_scrollbar = Scrollbar(master=frame)
y_scrollbar["orient"] = VERTICAL
y_scrollbar["command"] = canvas.yview
# X ekseninin kaydırma çubuğu
x_scrollbar = Scrollbar(master=frame)
x_scrollbar["orient"] = HORIZONTAL
x_scrollbar["command"] = canvas.xview
# Canvas'ta yer alacak kaydırma çubuklarının
# komutlarını hangi kaydırma çubuğunun yapacağını yazıyoruz.
canvas["yscrollcommand"] = y_scrollbar.set
canvas["xscrollcommand"] = x_scrollbar.set
# Kaydırma çubuklarını ekrana yerleştiriyoruz.
y_scrollbar.pack(side="right", fill=Y)
x_scrollbar.pack(side="bottom", fill=X)
# Canvas widgetini de ekrana yerleştiriyoruz.
canvas.pack(expand=True, fill=BOTH)
# Canvas widgetinde etkili olacak bir çerçeve tanımlıyoruz.
canvas.create_window((4, 4), window=sub_frame, anchor="nw")
# Açılacak çerçevede hangi işlemin yapılacağını tanımlıyoruz.
sub_frame.bind(
sequence="<Configure>",
func=lambda event: canvas.configure(scrollregion=canvas.bbox(ALL))
)
im.execute('SELECT * FROM kullanici')
account = im.fetchall()
for kullanici in account:
kullaniciid1 = kullanici[0]
kullaniciid = int(kullaniciid1)
kullaniciadi = kullanici[1]
kullanicisoyadi = kullanici[2]
kullanicicinsiyet = kullanici[3]
kullaniciyasadigiil = kullanici[4]
kullaniciolaganustuiletisimkurulacakkisi = kullanici[5]
kullaniciolaganustuiletisimkurulacakkisitelno1 = kullanici[6]
kullaniciolaganustuiletisimkurulacakkisitelno = int(kullaniciolaganustuiletisimkurulacakkisitelno1)
kullanicirumuz = kullanici[7]
kullanicisifre = kullanici[8]
kullanicikayittarihi = kullanici[9]
kullanicibilgileriyazi = Label(frame)
kullanicibilgileriyazi.config(
text=u"Kullanıcı Rumuz : " + kullanicirumuz + "\nKullanıcı Şifresi : " + kullanicisifre + "\nKullanıcı İd : " + str(
kullaniciid) + "\nKullanıcı Adı : " + kullaniciadi + "\nKullanıcı Soyadı : " + kullanicisoyadi + "\nKullanıcı Cinsiyeti : " + kullanicicinsiyet + "\nKullanıcı Yaşadığı İli : " + kullaniciyasadigiil + "\nKullanıcı Olağan Üstü Durumda Aranacak Kişinin İsmi : " + kullaniciolaganustuiletisimkurulacakkisi + "\nKullanıcı Olağan Üstü Durumda Aranacak Kişinin Tel No : " + str(
kullaniciolaganustuiletisimkurulacakkisitelno) + "\nKullanıcı Şifresi : " + kullanicisifre + "\nKayıt Olduğu Tarih : " + unicode(
kullanicikayittarihi))
kullanicibilgileriyazi.pack()
aracizgi = Label(frame)
aracizgi.config(text=u"==============================")
aracizgi.pack()
kullaniciekle = Button(kullaniciislemi, text=u"Kullanıcı Ekle", command=lambda: kullaniciislemleri().kullaniciekle())
kullaniciekle.pack()
aracizgi = Label(kullaniciislemi)
aracizgi.config(text=u"==============================")
aracizgi.pack()
kullaniciduzenle = Button(
kullaniciislemi,
text=u"Kullanıcı Düzenle",
command=lambda: kullaniciislemleri().kullaniciduzenle()
)
kullaniciduzenle.pack()
aracizgi = Label(kullaniciislemi)
aracizgi.config(text=u"==============================")
aracizgi.pack()
kullanicisil = Button(kullaniciislemi, text=u"Kullanıcı Sil", command=lambda: kullaniciislemleri().kullanicisil())
kullanicisil.pack()
global sonuc2
sonuc2 = Label(kullaniciislemi)
sonuc2.config(text=u"")
sonuc2.pack()
kullaniciislemi.mainloop()
İnşallah zaman içerisinde programınızı tamamlarsınız.