QT designer arayüzü için ui to py programı

Merhabalar arkadaşlar. Python kullanmaya yeni başladım. Programlama bilgim pek yok. IDLE olarak pycharm kullanıyorum. Pythonda arayüz tasarımını tkinter ile yapmanın biraz zor olduğunu düşünüyorum ve QT designer kullanıyorum. QT designerde çizdiğim arayüzü .ui uzantılı olarak çıktı alıp bunu .py uzantılı dosyaya çeviriyorum. Bunu yapmak için dos komutlarından yararlanmak gerekiyor. Bende hem kendim için hem kullananlar için kolaylık olsun istedim ve python’a yeni başlamışken bu işlemi kolaylaştırmak için bir adet UI to PY programı yazdım. Programın kaynak kodunu ve dosyasını paylaşmak istiyorum. Program seçtiğiniz .ui uzantılı dosyayı .py uzantılı dosyaya çevirecektir.
Not: Programın kendisi ve kaynak kodu drive ile paylaştım. Program siz.ui dosyanızı seçmeden dönüştür butonunu göstermeyecektir. uitopy.exe dosyasının kısayolunu masaüstünüze gönderebilirsiniz.

linkinden indirebilirsiniz:
https://drive.google.com/open?id=1BvSQzz-1Xx453jTwDcudq-U_U3U9v3-3
Github kaynak için:

donusturuldu dosyaadigir dosyasec logo

2 Beğeni

Elinize sağlık, Qt Designer’da hali hazırda olması gereken özelliklerden biri aslında fakat çoklu platform desteği sebebiyle eklemiyorlar sanırım.

Nacizane iki tavsiyem olacak:

  1. Hiçbir zaman Qt Designer’dan elde ettiğiniz .py dosyasını doğrudan kullanmayın. Kendisi bu dosyayı ürettiğinde dosyanın en başına kocaman bir uyarı koyuyor bu konu hakkında. Bunun yerine kodlarınızı yazdığınız başka bir betikte içe aktarın.

  2. Kodlarınızı GitHub ya da benzeri bir platformda saklarsanız hem sizin üzerinde çalışmanız ve çalışmanızı paylaşmanız kolaylaşır hem de kodlarınızı inceleyenler olarak bizlerin işi kolaylaşır. Neredeyse hiçbir yazılım camiasında kodları indirme yoluyla paylaşmak kabul edilmez. (Güvenlik sebeplerinden ötürü)

Kolay gelsin.

Geri dönüşünüz için teşekkür ederim.

  1. Başka bir betikte açın derken ne demek istediniz anlayamadım? Betik nedir?

  2. Haklısınız tavsiyenizle bir github üyeliği açtım. Paylaşımımı yaptıktan sonra linki buraya editleyeceğim.

Kodlarınızı içeren her dosyaya betik diyoruz. Yani, oluşturduğunuz bu .py dosyası aslında bir betiktir. (Bu arada Python da bir betik dilidir.) Başka bir betikte içe aktarın demiştim. Bunun anlamı aslında çok basit: import fonksiyonundan bahsediyorum. Kodlarınızı kendi betiğinizde sınıf (class) yapısında oluşturup Qt Designer’dan aldığınız arayüz için olan .py dosyasını bu sınıf yapısında import ederek kullanın.

Yanlış anlaşılmasın, kodlarınız bu haliyle de pekala çalışabilir, fakat kodlarınızın arayüzsüz hallerini incelemek bu haliyle çok zor. Bunu şöyle düşünebilirsiniz: arabanın dışına bakarak özelliklerini (abs, esr, vs.) anlamaya çalışmak gibi. Umarım anlatabilmişimdir.

1 Beğeni

Anladım, teşekkür ederim bilgilendirme için.

Teşekkürler sadece run yaparken bir türlü sayfayı açamadım bu konuda da yardımcı olursanız çok iyi olur

hocam konuyu hortlatıyorum ama kusura bakmayın. şimdi ben qt designer’da arayüz tasarımını yaptım bu ui dosyasını py dosyasına çevirdim ve bu py dosyasını run yaptığımda çalışıyormuş gibi gözüküp ekrana yaptığım tasarım gelmedi kodlara ekstra self.show()
app = QApplication(sys.arg) ara_yuz = Ui_giris_yap_acilis() ve de sys.exit(sys.exec_()) komutlarını ekledim fakat sonuç değişmedi yardımcı olur musunuz ?

Sevgili balabancagri programınızı indirdim ve inceledim ve çok yararlandım.Yalnız nasıl exe hale getirdiniz anlatabilirirmisin.Teşekkürler…

Balabancagri öncelikle merhaba.
Gerçekten çok güzel bir program yazmışsın,normalde sitelerde araştırma yapıp bilgi edinip çıkardım sadece sana teşekkür etmek için üye oldum.
Teşekkür Ederim :slight_smile:

Mükemmel bir program yazmışsın gerçekten yarım saat uğraştım ve sonuç olmadı. Senin programın 1 dk de çözdü daha çok reklam yapmalısın. ™

aslında mantıken aynı şeyi yapıyor

1 Beğeni

Farkındayım ama benim bilgisayarımda py kütüphanesinin içindeki gerekli bir dosya eksik olduğundan dolayı kodu direk cmd ye yazdığımda çalışmıyor. Ama bu programda cmd OS modülü ile açıldığı için bu hatayı vermiyor ve çalışıyor

pyuic5 -x dosyaAdı.ui -o dosyaAdı.py
aynı işlemi bu da yapıyor.

1 Beğeni