Attım ama uygulamalarda gözükmedi. Bunun her yerde çalışacak bir yöntemi yok mu? macOS'taki gibi Python Launcher yok mu, mesela? O açsın direkt."~" ev klasörün demek root'a atmana gerek yok. "/home/kullanıcıadın/.local/share/applications/"
Detaylar
Kim cevapladı?MacOS'ta uygulama sistemi farklı, Windows'ta farklı, Linux'ta farklı. Taşınabilir yürütülebilir için desktop dosyasına gerek yok. Ama ikon olsun sabitleyebileyim istiyorsanız bunu çoğu dağıtımda yapmak dışında bir çareniz yok.macOS'taki gibi Python Launcher yok mu, mesela? O açsın direkt.
Desktop dosyasını doğru hazırladığınızdan emin misiniz? Dosyayı yanlış doldurduysanız da görünmeyebilir.
Ayrıca, 'Program olarak çalıştır' denilince açması gerekmiyor mu? Bende onda da açmıyor."~" ev klasörün demek root'a atmana gerek yok. "/home/kullanıcıadın/.local/share/applications/"
Olur da benim uygulamada mı bir sorun var diye, uygulamanın kodları:
[CODE title="Kod"]
#!/bin/env python3
import tkinter as tk
from tkinter import ttk
class HexConverterApp:
def init(self, root):
self.root = root
self.root.title("Hexadecimal Dönüştürücü")
self.root.geometry("400x300")
# Frame for text to hex conversion
self.frame1 = ttk.Frame(self.root, padding="10")
self.frame1.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
self.text_label = ttk.Label(self.frame1, text="Metin:")
self.text_label.grid(row=0, column=0, sticky=tk.W)
self.text_entry = ttk.Entry(self.frame1, width=40)
self.text_entry.grid(row=0, column=1, padx=5)
self.convert_to_hex_button = ttk.Button(self.frame1, text="Hex'e Çevir", command=self.convert_to_hex)
self.convert_to_hex_button.grid(row=0, column=2, padx=5)
self.hex_result_label = ttk.Label(self.frame1, text="Hex Sonuç:")
self.hex_result_label.grid(row=1, column=0, sticky=tk.W)
self.hex_result = ttk.Label(self.frame1, text="", foreground="blue")
self.hex_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)
# Frame for hex to text conversion
self.frame2 = ttk.Frame(self.root, padding="10")
self.frame2.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
self.hex_input_label = ttk.Label(self.frame2, text="Hex:")
self.hex_input_label.grid(row=0, column=0, sticky=tk.W)
self.hex_input_entry = ttk.Entry(self.frame2, width=40)
self.hex_input_entry.grid(row=0, column=1, padx=5)
self.convert_to_text_button = ttk.Button(self.frame2, text="Metne Çevir", command=self.convert_to_text)
self.convert_to_text_button.grid(row=0, column=2, padx=5)
self.text_result_label = ttk.Label(self.frame2, text="Metin Sonuç:")
self.text_result_label.grid(row=1, column=0, sticky=tk.W)
self.text_result = ttk.Label(self.frame2, text="", foreground="blue")
self.text_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)
def convert_to_hex(self):
text = self.text_entry.get()
hex_result = text.encode('utf-8').hex()
self.hex_result.config(text=hex_result.upper())
def convert_to_text(self):
hex_text = self.hex_input_entry.get()
try:
bytes_object = bytes.fromhex(hex_text)
text_result = bytes_object.decode('utf-8')
self.text_result.config(text=text_result)
except ValueError:
self.text_result.config(text="Geçersiz Hexadecimal")
if name == "main":
root = tk.Tk()
app = HexConverterApp(root)
root.mainloop()
[/CODE]
#!/bin/env python3
import tkinter as tk
from tkinter import ttk
class HexConverterApp:
def init(self, root):
self.root = root
self.root.title("Hexadecimal Dönüştürücü")
self.root.geometry("400x300")
# Frame for text to hex conversion
self.frame1 = ttk.Frame(self.root, padding="10")
self.frame1.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
self.text_label = ttk.Label(self.frame1, text="Metin:")
self.text_label.grid(row=0, column=0, sticky=tk.W)
self.text_entry = ttk.Entry(self.frame1, width=40)
self.text_entry.grid(row=0, column=1, padx=5)
self.convert_to_hex_button = ttk.Button(self.frame1, text="Hex'e Çevir", command=self.convert_to_hex)
self.convert_to_hex_button.grid(row=0, column=2, padx=5)
self.hex_result_label = ttk.Label(self.frame1, text="Hex Sonuç:")
self.hex_result_label.grid(row=1, column=0, sticky=tk.W)
self.hex_result = ttk.Label(self.frame1, text="", foreground="blue")
self.hex_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)
# Frame for hex to text conversion
self.frame2 = ttk.Frame(self.root, padding="10")
self.frame2.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
self.hex_input_label = ttk.Label(self.frame2, text="Hex:")
self.hex_input_label.grid(row=0, column=0, sticky=tk.W)
self.hex_input_entry = ttk.Entry(self.frame2, width=40)
self.hex_input_entry.grid(row=0, column=1, padx=5)
self.convert_to_text_button = ttk.Button(self.frame2, text="Metne Çevir", command=self.convert_to_text)
self.convert_to_text_button.grid(row=0, column=2, padx=5)
self.text_result_label = ttk.Label(self.frame2, text="Metin Sonuç:")
self.text_result_label.grid(row=1, column=0, sticky=tk.W)
self.text_result = ttk.Label(self.frame2, text="", foreground="blue")
self.text_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)
def convert_to_hex(self):
text = self.text_entry.get()
hex_result = text.encode('utf-8').hex()
self.hex_result.config(text=hex_result.upper())
def convert_to_text(self):
hex_text = self.hex_input_entry.get()
try:
bytes_object = bytes.fromhex(hex_text)
text_result = bytes_object.decode('utf-8')
self.text_result.config(text=text_result)
except ValueError:
self.text_result.config(text="Geçersiz Hexadecimal")
if name == "main":
root = tk.Tk()
app = HexConverterApp(root)
root.mainloop()
[/CODE]
63. satırda if'de tırnak işareti yok. Hata verdiği için çalışmıyor.Ayrıca, 'Program olarak çalıştır' denilince açması gerekmiyor mu? Bende onda da açmıyor.
Olur da benim uygulamada mı bir sorun var diye, uygulamanın kodları:
[CODE title="Kod"]
#!/bin/env python3
import tkinter as tk
from tkinter import ttk
class HexConverterApp:
def init(self, root):
self.root = root
self.root.title("Hexadecimal Dönüştürücü")
self.root.geometry("400x300")
# Frame for text to hex conversion
self.frame1 = ttk.Frame(self.root, padding="10")
self.frame1.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
self.text_label = ttk.Label(self.frame1, text="Metin:")
self.text_label.grid(row=0, column=0, sticky=tk.W)
self.text_entry = ttk.Entry(self.frame1, width=40)
self.text_entry.grid(row=0, column=1, padx=5)
self.convert_to_hex_button = ttk.Button(self.frame1, text="Hex'e Çevir", command=self.convert_to_hex)
self.convert_to_hex_button.grid(row=0, column=2, padx=5)
self.hex_result_label = ttk.Label(self.frame1, text="Hex Sonuç:")
self.hex_result_label.grid(row=1, column=0, sticky=tk.W)
self.hex_result = ttk.Label(self.frame1, text="", foreground="blue")
self.hex_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)
# Frame for hex to text conversion
self.frame2 = ttk.Frame(self.root, padding="10")
self.frame2.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
self.hex_input_label = ttk.Label(self.frame2, text="Hex:")
self.hex_input_label.grid(row=0, column=0, sticky=tk.W)
self.hex_input_entry = ttk.Entry(self.frame2, width=40)
self.hex_input_entry.grid(row=0, column=1, padx=5)
self.convert_to_text_button = ttk.Button(self.frame2, text="Metne Çevir", command=self.convert_to_text)
self.convert_to_text_button.grid(row=0, column=2, padx=5)
self.text_result_label = ttk.Label(self.frame2, text="Metin Sonuç:")
self.text_result_label.grid(row=1, column=0, sticky=tk.W)
self.text_result = ttk.Label(self.frame2, text="", foreground="blue")
self.text_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)
def convert_to_hex(self):
text = self.text_entry.get()
hex_result = text.encode('utf-8').hex()
self.hex_result.config(text=hex_result.upper())
def convert_to_text(self):
hex_text = self.hex_input_entry.get()
try:
bytes_object = bytes.fromhex(hex_text)
text_result = bytes_object.decode('utf-8')
self.text_result.config(text=text_result)
except ValueError:
self.text_result.config(text="Geçersiz Hexadecimal")
if name == "main":
root = tk.Tk()
app = HexConverterApp(root)
root.mainloop()
[/CODE]
Birkaç hata daha vardı. Kodunuzun düzeltilmiş hali.
[CODE lang="python" title="a.py"]#!/bin/env python3
import tkinter as tk
from tkinter import ttk
class HexConverterApp:
def init(self, root):
self.root = root
self.root.title("Hexadecimal Dönüştürücü")
self.root.geometry("400x300")
# Frame for text to hex conversion
self.frame1 = ttk.Frame(self.root, padding="10")
self.frame1.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
self.text_label = ttk.Label(self.frame1, text="Metin:")
self.text_label.grid(row=0, column=0, sticky=tk.W)
self.text_entry = ttk.Entry(self.frame1, width=40)
self.text_entry.grid(row=0, column=1, padx=5)
self.convert_to_hex_button = ttk.Button(self.frame1, text="Hex'e Çevir", command=self.convert_to_hex)
self.convert_to_hex_button.grid(row=0, column=2, padx=5)
self.hex_result_label = ttk.Label(self.frame1, text="Hex Sonuç:")
self.hex_result_label.grid(row=1, column=0, sticky=tk.W)
self.hex_result = ttk.Label(self.frame1, text="", foreground="blue")
self.hex_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)
# Frame for hex to text conversion
self.frame2 = ttk.Frame(self.root, padding="10")
self.frame2.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
self.hex_input_label = ttk.Label(self.frame2, text="Hex:")
self.hex_input_label.grid(row=0, column=0, sticky=tk.W)
self.hex_input_entry = ttk.Entry(self.frame2, width=40)
self.hex_input_entry.grid(row=0, column=1, padx=5)
self.convert_to_text_button = ttk.Button(self.frame2, text="Metne Çevir", command=self.convert_to_text)
self.convert_to_text_button.grid(row=0, column=2, padx=5)
self.text_result_label = ttk.Label(self.frame2, text="Metin Sonuç:")
self.text_result_label.grid(row=1, column=0, sticky=tk.W)
self.text_result = ttk.Label(self.frame2, text="", foreground="blue")
self.text_result.grid(row=1, column=1, columnspan=2, sticky=tk.W)
def convert_to_hex(self):
text = self.text_entry.get()
hex_result = text.encode('utf-8').hex()
self.hex_result.config(text=hex_result.upper())
def convert_to_text(self):
hex_text = self.hex_input_entry.get()
try:
bytes_object = bytes.fromhex(hex_text)
text_result = bytes_object.decode('utf-8')
self.text_result.config(text=text_result)
except ValueError:
self.text_result.config(text="Geçersiz Hexadecimal")
root = tk.Tk()
app = HexConverterApp(root)
root.mainloop()
[/CODE]
Çalışan hali:
Pardon forumun eklentisi ile alakalı bir hata olmuş sanırım.
Düzenlemiş olduğunuz kodda da aynı sorun var. Açılmıyor; bir ekran geliyor ve 1 saniye sonra gidiyor.if kısmını doğrudan silip kodu alt satıra indirebilirsin. Bende öyle çalıştı.Gerek yokmuş sanırım, kod biçimlendirme hatalarını düzeltince de çalıştı.
Komut satırından açınca da aynı hata oluyor mu? Şu anda bende düzgün çalışıyor.Düzenlemiş olduğunuz kodda da aynı sorun var. Açılmıyor; bir ekran geliyor ve 1 saniye sonra gidiyor.
[CODE title="Hata"]ofis@ofis-System-Product-Name:~/.local/share/applications$ python hx.pyKomut satırından açınca da aynı hata oluyor mu? Şu anda bende düzgün çalışıyor.
'python' Komutu bulunamadı, şunu mu demek istiyorsunuz:
komut 'python3' deb python3 paketinden
komut 'python' deb python-is-python3 paketinden[/CODE]
"python hx.py" yazdım; acaba ben mi yanlış yaptım?
"env python3 hx.py" olarak çalıştırmayı dener misiniz? Olmazsa "python3 hx.py"yi deneyin.
Hata için konu açtım bu arada. Markdown eklentisi kod satırlarında devre dışı bırakılmalıBuraya yüklerken metin bozuluyor, ben de anlamadım.
Benzer konular
Yeni mesajlar
-
-
Elektronik ASUS TUF GAMING 850W güç kaynağı sepette 6.476 TL!
- Prof. Dr. Abuzer Kömürcü
-