Python เป็นตัวเลือกที่ดีในการพัฒนา UIs หรือไม่ ถ้าเป็นเช่นนั้น wxPython หรือ Tkinter?


12

ฉันรอคอยที่จะพัฒนาแอปพลิเคชันเดสก์ท็อปโดยใช้ Python ฉันเป็นผู้เริ่มต้นและฉันไม่มีความเชี่ยวชาญเพียงพอใน Python ฉันยังเป็นโปรแกรมเมอร์ Java แม้ว่าฉันจะมีประสบการณ์ในการสร้าง UIs โดยใช้ Swing แต่ฉันเห็นว่าแอพที่พัฒนาบน Swing นั้นค่อนข้างช้าเกินไป นี่อาจเป็นเหตุผลหนึ่งว่าทำไมการใช้งานหลัก ๆ หลายอย่างใน C / C ++ เหมือนกับในเบราว์เซอร์ / เกม

การพัฒนา UI ใน C ++ อาจเป็นตัวเลือกที่ดีกว่า แต่ฉันชอบที่จะเลือกภาษาการเขียนโปรแกรมระดับสูงผ่าน C / C ++ ดังนั้นฉันเลือกที่จะใช้ Python โดยสันนิษฐานว่ามันจะทำงานได้ดีบน Java Swing เนื่องจาก Python เองนั้นสร้างบน C / C ++

ดังนั้นฉันจะไปข้างหน้ากับสมมติฐานนี้ว่า Python ดีกว่า Java Swing เพื่อพัฒนา UI หรือไม่? หรือคุณแนะนำภาษาที่ดีกว่า Python ในการพัฒนา UIs? ถ้าฉันไปด้วย Python ฉันควรใช้ชุดเครื่องมือ Tkinter หรือ wxPython ทำไม?


4
สมมติฐานของคุณดูเหมือนว่ามีข้อบกพร่อง Python สร้างขึ้นบน C / C ++ แต่เป็น JVM (เป็นไปได้มากที่สุด)
281377

เหตุใดจึงต้อง จำกัด ตัวเองให้ Tkinter และ wxPython
Anto

2
ฉันไม่ได้พยายาม จำกัด ตัวเอง ฉันรู้สึกว่าสิ่งเหล่านี้เป็นชุดเครื่องมือที่รู้จักกันดีทั้งสองสำหรับการพัฒนา GUI
Vamsi Emani

Lazarus IDE, Pascal คอมไพเลอร์ฟรีและ Object Pascal ทำให้เป็นวิธีที่ง่ายและรวดเร็วในการพัฒนา GUI
systemovich

คำตอบ:


15

ฉันเพิ่งเริ่มพัฒนาแอพ windows desktop โดยใช้ python ฉันใช้PyQt

มันง่ายมากที่จะติดตั้งและเปิดใช้งาน บทช่วยสอนที่นี่: http://zetcode.com/tutorials/pyqt4/firstprograms/แสดงให้เห็นว่าง่ายแค่ไหนฉันจะแสดงรหัส:

#!/usr/bin/python

# simple.py

import sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)

widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('simple')
widget.show()

sys.exit(app.exec_())

นั่นทำให้คุณได้รับหน้าต่าง

ฉันเลือก Python / PyQt มากกว่า C # / WPF เพราะฉันต้องการเรียนรู้หลามและนายจ้างให้เวลากับฉัน

ผู้จัดการของฉันแนะนำ PyQt ให้ฉันมากกว่าเฟรมเวิร์กอื่น ๆ เพราะจากประสบการณ์ของเขามันง่ายกว่าที่จะใช้


2
นอกจากนี้ยังมี pyside ( pyside.org ) ดูstackoverflow.com/questions/1297660/pyside-vs-pyqt
codeape

ฉันเคยใช้ PySide มาก่อนและใช้งานได้ดีทีเดียว อย่างไรก็ตามการพัฒนาในอนาคตของ PySide นั้นอยู่ในระดับที่ไม่ดีนักเนื่องจาก Nokia ขาย Qt ไปแล้ว
jhocking

5

หากคุณกำลังมองหาการพัฒนา GUI พื้นฐานสำหรับ Windows หรือ OSX ฉันแนะนำให้ใช้ Tkinter (เช่นไลบรารี GUI Tk ที่มี pythonic clothes เปิด) เพราะจะทำให้คุณใกล้เคียงกับลุคดั้งเดิมมากกว่า wxPython (wxWidgets สำหรับไพ ธ อน) . ฉันไม่ได้พบว่ามันง่ายที่จะหาจำนวน แต่ดวงตาของฉันWindows และ OSX ภาพหน้าจอ YMMV ฉันรู้ว่า Tk ( สำคัญ:ด้วยชุดเครื่องมือ Ttk) นั้นดูดีมาก ๆ

หากคุณกำลังพัฒนาสำหรับ Linux ... ฉันไม่สามารถแนะนำตัวอื่น ๆ ได้อย่างตรงไปตรงมาเพราะฉันไม่ได้ติดตามว่ารูปลักษณ์ของแพลตฟอร์มที่ชื่นชอบในปัจจุบันนั้นอยู่ตรงไหน :-)


1
โปรดทราบว่า Tkinter ไม่ได้ให้บริการวิดเจ็ตที่ใช้กันทั่วไปมากมาย ตัวอย่างเช่นหากคุณต้องการแถบความคืบหน้าคุณจะต้องเขียนด้วยตนเองหรือหาคนอื่นเขียน
James

1
รอ แต่ wxWidgets ใช้องค์ประกอบ GUI พื้นฐาน อย่างน้อยการผูก C ++ ก็ทำได้ ฉันไม่แน่ใจเกี่ยวกับงูหลาม
Zhehao Mao

@ZhehaoMao wxWidgets เป็นการผสมผสานระหว่างองค์ประกอบพื้นฐานและไม่ใช่เจ้าของภาษา องค์ประกอบบางอย่างมีลักษณะคล้ายกับองค์ประกอบดั้งเดิม แต่จริงๆแล้วสร้างขึ้นเองเพื่อ API ที่สม่ำเสมอยิ่งขึ้น
Hubert Grzeskowiak

3

ฉันจะบอกว่ามันเป็นตัวเลือกที่ดีถ้าคุณรู้จักและชอบ Python อยู่แล้ว มิฉะนั้นให้ใช้ภาษาที่คุณรู้จักซึ่งก็คือจาวา ข้อยกเว้นอย่างหนึ่งคือถ้านี่เป็นโครงการเรียนรู้ซึ่งในกรณีนี้ฉันขอแนะนำว่าการได้รับประสบการณ์กับภาษาอื่นจะเป็นความคิดที่ดี

จุดของฉันคือที่ Python ไม่ได้ดีกว่าหรือแย่ไปกว่า Java สำหรับแอปพลิเคชัน UI ดังนั้นให้ใช้เครื่องมือใดก็ตามที่คุณชอบทำงานด้วย


1

คำแนะนำที่แท้จริงเพียงข้อเดียวที่สามารถให้สำหรับคำถามทุกข้อเช่นนี้คือ "ลองดูว่าคุณชอบหรือไม่" - ความคิดเห็นของคนอื่น ๆ เกี่ยวกับภาษาการเขียนโปรแกรม (โดยเฉพาะอย่างยิ่งในสิ่งที่อาจเป็นภาษาที่คนรักมากที่สุด .

อย่างไรก็ตามมูลค่า 5 เซ็นต์ของฉัน - สำหรับการเคาะ Windows GUI ที่ง่ายและรวดเร็วการรวมกันของ Python และ wxWidgets ทำงานได้ดีมาก แต่อย่างที่ฉันบอกลองด้วยตัวคุณเอง - คุณสามารถรวบรวมสิ่งที่เรียบง่าย แต่มีประโยชน์ในหนึ่งชั่วโมงหรือมากกว่านั้นแม้ว่าจะไม่มีประสบการณ์ Python มาก (แน่นอนว่าฉันมีไม่มาก)


1

ในกรณีที่ทุกคนจบลงที่นี่ผ่านเครื่องมือค้นหา: คุณสามารถสร้างตัวอย่าง Tkinter ได้อย่างรวดเร็วโดยใช้ตัวสร้าง PAGE มันสร้างรหัสที่ดีบางอย่างที่จะทำให้คุณมีความคิดในสิ่งที่จะได้รับที่คุณต้องการไป แน่นอนว่าคุณต้องยอมรับความเป็นคนทั่วไปในฐานะผู้เขียน แต่สำหรับคนที่ต้องการทดสอบน่านน้ำหรือรับความคิดทั่วไปว่าพวกเขาไปที่ไหนมันเป็นเครื่องมือที่ดี หน้า SourceForge


-1

ฉันคิดว่าแอพพลิเคชั่นบางประเภทสามารถเขียนได้อย่างเป็นธรรมใน Python

ตัวอย่างTask Coachเขียนใน Python / wxPython พวกเขาใช้คอมไพเลอร์ Python2exe เช่น py2app, py2exe และอื่น ๆ เพื่อสร้างโปรแกรมปฏิบัติการข้ามแพลตฟอร์ม


-1

หากคุณถูก จำกัด ให้พัฒนาในระบบนิเวศของ Windows และใช้ Visual Studio ให้พิจารณา Iron Python Iron Python เป็น Python plus. วัตถุ NET

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.