• 29-06-2023, 08:44:42
    #1
    Merhaba arkadaşlar python ile basit bir fonksyion yazdım. terminalde kullandığımda uygulama tam istediğim gibi çalışıyor. Windows ve Macos cihazlar için uygulamayı derlemeye çalışıyorum ama ne exe ne dmg oluşturabiliyorum. yardım edebilecek var mı?
  • 29-06-2023, 10:36:30
    #2
    PyInstaller deneyin.
  • 29-06-2023, 21:07:06
    #3
    strong adlı üyeden alıntı: mesajı görüntüle
    PyInstaller deneyin.
    Hocam deniyorum ancak sorun çıkıyor derleme yapmıyor. Yaparsada uygulama açılmıyor.
  • 16-07-2023, 17:47:51
    #4
    ONURERDGN adlı üyeden alıntı: mesajı görüntüle
    Hocam deniyorum ancak sorun çıkıyor derleme yapmıyor. Yaparsada uygulama açılmıyor.
    kodu buraya yazin bakalım kodlarda sorun varmı ?
  • 16-07-2023, 17:59:52
    #5
    shms adlı üyeden alıntı: mesajı görüntüle
    kodu buraya yazin bakalım kodlarda sorun varmı ?
    Hocam pes etmiştim en son ama buyurun birde siz inceleyin.
    import os
    import requests
    import time
    import tkinter as tk
    from tkinter import messagebox, scrolledtext
    from escpos.printer import Network
    
    def save_credentials():
        new_token = token_entry.get()
        new_secret = secret_entry.get()
        # Dosyayı güncelleme modunda açıyoruz
        with open("credentials.txt", "w") as file:
            file.write(f"token = '{new_token}'\n")
            file.write(f"secret = '{new_secret}'\n")
        messagebox.showinfo("Bilgi", "Token ve secret bilgileri güncellendi.")
    
    def print_receipts():
        response_text.delete(1.0, tk.END)  # Yanıt metnini temizle
        with open("credentials.txt", "r") as file:
            for line in file:
                if line.startswith("token"):
                    token = line.split("=")[1].strip().strip("'")
                elif line.startswith("secret"):
                    secret = line.split("=")[1].strip().strip("'")
        response_text.insert(tk.END, "**** PRINTER CLOUDA HOŞGELDİNİZ!\n")
        if token == "xxxxxxxxxxx":
            response_text.insert(tk.END, "Token ve Secret Bilgilerinizi giriniz.\n")
            messagebox.showwarning("Uyarı", "Token ve secret bilgilerini giriniz.")
            return
        api_url = (
            "https://*****.com/qr/inc/cloudorderPDF-windows.php?token="
            + token
            + "&secret="
            + secret
        )
        image_folder = "fis"  # Görsellerin kaydedileceği klasör
        fis_klasoru = "fis"
        if not os.path.exists(fis_klasoru):
            os.makedirs(fis_klasoru)
        while True:
            try:
                response = requests.get(api_url)
                if response.status_code == 200:
                    data = response.json()
                    if data is not None:
                        veriadedi = len(data)
                        for i in range(veriadedi):
                            try:
                                item = data[i]
                                if "giris" in item:
                                    if item["giris"] is None:
                                        giris = 1
                                    elif item["giris"] == 0:
                                        giris = 0
                                    else:
                                        giris = 1
                                else:
                                    giris = 1  # Varsayılan değer
                                if giris == 0:
                                    response_text.insert(
                                        tk.END,
                                        "Giriş Yapılamadı. Token ve Secret Bilgilerinizi giriniz.\n",
                                    )
                                    messagebox.showwarning(
                                        "Uyarı", "Token ve secret bilgilerini giriniz."
                                    )
                                    return
                                else:
                                    fis_img = item["fis_img"]
                                    type = item["type"]
                                    printers_key = item["printers_key"]
                                    image_url = f"https://****.com/qr/inc/receiptpdf/{fis_img}.png"
                                    if printers_key:
                                        if type == "1":
                                            # Network sınıfını kullanarak ağ yazıcısına bağlan
                                            printer = Network(
                                                printers_key, profile="CT-S651"
                                            )
                                        else:
                                            response_text.insert(
                                                tk.END, "Geçersiz 'type' değeri.\n"
                                            )
                                            continue  # Geçersiz bir 'type' değeri varsa bir sonraki işleme geç
                                        # Yazıcıya bir bip komutu gönder
                                        beep_command = b"\x1b\x42\x03\x03"  # Bipi kontrol etmek için değerleri ayarlayın
                                        printer._raw(beep_command)
                                        # Görseli indir
                                        response = requests.get(image_url)
                                        if response.status_code == 200:
                                            # Görseli "fis" klasörüne kaydet
                                            with open(
                                                os.path.join(fis_klasoru, fis_img + ".png"),
                                                "wb",
                                            ) as file:
                                                file.write(response.content)
                                        else:
                                            response_text.insert(
                                                tk.END, "Görsel indirilemedi.\n"
                                            )
                                        input_path = os.path.join(
                                            fis_klasoru, fis_img + ".png"
                                        )
                                        printer.image(input_path)
                                        # Görseli yazdır
                                        # Kağıdı kes
                                        printer.cut()
                                        # Bağlantıyı kapat
                                        printer.close()
                                    else:
                                        response_text.insert(
                                            tk.END, "printers_key tanınmadı.\n"
                                        )
                            except Exception as e:
                                response_text.insert(tk.END, f"Hata oluştu: {str(e)}\n")
                else:
                    response_text.insert(
                        tk.END, f"API isteği başarısız oldu: {response.status_code}\n"
                    )
                time.sleep(1)
            except Exception as e:
                response_text.insert(tk.END, f"Hata oluştu: {str(e)}\n")
    
    # Create the Tkinter window
    window = tk.Tk()
    window.title("**** Cloud Printer")
    window.geometry("400x500")
    # Create a button to trigger the printing
    print_button = tk.Button(window, text="Çalıştır", command=print_receipts)
    print_button.pack(pady=10)
    # Create labels and entry fields for token and secret
    token_label = tk.Label(window, text="Token:")
    token_label.pack(pady=5)
    token_entry = tk.Entry(window, width=40)
    token_entry.pack(pady=5)
    secret_label = tk.Label(window, text="Secret:")
    secret_label.pack(pady=5)
    secret_entry = tk.Entry(window, width=40)
    secret_entry.pack(pady=5)
    # Load the current token and secret values from credentials.txt
    with open("credentials.txt", "r") as file:
        for line in file:
            if line.startswith("token"):
                token_value = line.split("=")[1].strip().strip("'")
                token_entry.insert(0, token_value)
            elif line.startswith("secret"):
                secret_value = line.split("=")[1].strip().strip("'")
                secret_entry.insert(0, secret_value)
    # Create a button to save the entered credentials
    save_button = tk.Button(window, text="Kaydet", command=save_credentials)
    save_button.pack(pady=10)
    # Create a scrolled text widget to display the responses
    response_text = scrolledtext.ScrolledText(window, width=50, height=10)
    response_text.pack(pady=10)
    # Run the Tkinter event loop
    window.mainloop()
  • 16-07-2023, 18:21:07
    #6
    koda herhangi bir hata yok bir klasör açin screen.py burda verdiginiz kodu oraya yapiştirin daha sonra var oldugunuz klasörde cmd yi açin şu kodu çalıştırın



    pyinstaller --onefile screen.py