파이썬은 UI를 개발하기에 좋은 선택입니까? 그렇다면 wxPython 또는 Tkinter?


12

Python을 사용하여 데스크톱 응용 프로그램을 개발할 것으로 기대합니다. 저는 초보자이며 파이썬에 대한 충분한 전문 지식이 없습니다. 저는 또한 Java 프로그래머입니다. Swing을 사용하여 UI를 빌드 한 경험이 있지만 Swing에서 개발 된 앱이 너무 느리다는 것을 알았습니다. 이것이 많은 주요 구현이 브라우저 / 게임에서와 같이 C / C ++에서 수행되는 이유 중 하나 일 수 있습니다.

C ++로 UI를 개발하는 것이 더 나은 옵션 일 수 있지만 C / C ++보다 고급 프로그래밍 언어를 선택하는 것을 선호합니다. 그래서 파이썬 자체가 기본적으로 C / C ++에 빌드되어 있기 때문에 Java Swing보다 성능이 뛰어나다 고 가정하여 Python을 선택했습니다.

그렇다면 UI를 개발하기 위해 Python이 Java Swing보다 낫다는 가정을 계속할 수 있습니까? 아니면 UI를 개발하기 위해 파이썬보다 더 나은 언어를 제안합니까? 파이썬으로 진행한다면 Tkinter 또는 wxPython을 사용해야하는 툴킷과 그 이유는 무엇입니까?


4
당신의 가정에 결함이있는 것 같습니다. 파이썬은 C / C ++를 기반으로하지만 JVM도 마찬가지입니다.
user281377

왜 Tkinter와 wxPython으로 제한합니까?
Anto

2
나는 나 자신을 제한하려고하지 않습니다. 나는 이것이 GUI 개발을위한 두 가지 잘 알려진 툴킷이라는 인상을 받았다.
Vamsi Emani 2016

Lazarus IDE, Free Pascal Compiler 및 Object Pascal을 사용하면 GUI를 빠르고 쉽게 개발할 수 있습니다.
systemovich

답변:


15

파이썬을 사용하여 Windows 데스크톱 앱 개발을 시작했습니다. 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_())

그것은 당신에게 창을 가져옵니다.

파이썬을 배우고 싶고 고용주가 나에게 시간을주고 있기 때문에 C # / WPF보다 Python / PyQt를 선택했습니다.

관리자는 경험이 더 사용하기 쉽기 때문에 다른 프레임 워크보다 PyQt를 추천했습니다.



이전에 PySide를 사용했는데 꽤 잘 작동합니다. 그러나 PySide의 향후 개발은 Nokia가 Qt를 매각했기 때문에 다소 어려워졌습니다.
jhocking 2016 년

5

Windows 또는 OSX 용 기본 GUI를 개발하려는 경우 wkPython (파이썬 용 wxWidgets)보다 기본 모양에 훨씬 더 가깝게 Tkinter (예 : 파이썬 옷이있는 GUI 라이브러리 Tk)를 사용하는 것이 좋습니다. . 수량 화가 쉽지는 않지만 Windows 및 OSX 스크린 샷 은 내 눈에 있습니다. YMMV. Tk ( 중요 : Ttk 위젯 세트 사용)가 매우 강력하게 보입니다.

리눅스를 위해 개발하고 있다면… 현재 선호하는 플랫폼의 모습을 잃어 버렸기 때문에 솔직히 조언 할 수는 없습니다. :-)


1
Tkinter는 기본적으로 자주 사용되는 많은 위젯을 제공하지 않습니다. 예를 들어, 진행률 표시 줄을 원한다면 직접 작성하거나 다른 사람이 작성한 것을 찾아야합니다.
James

1
잠깐만 wxWidgets는 기본 GUI 요소를 사용합니다. 적어도 C ++ 바인딩은 그렇게합니다. 파이썬에 대해 잘 모르겠습니다.
Zhehao Mao

@ZhehaoMao wxWidgets는 네이티브와 비 네이티브 요소의 혼합입니다. 일부 요소는 기본 요소와 비슷해 보이지만 실제로는보다 균일 한 API를 위해 사용자 정의 된 것입니다.
Hubert Grzeskowiak

3

이미 파이썬을 알고 좋아한다면 좋은 선택이라고 말하고 싶습니다. 그렇지 않으면 이미 알고있는 언어 인 Java를 사용하십시오. 여기서 한 가지 예외는 이것이 학습 프로젝트 인 경우입니다.이 경우 다른 언어를 경험하는 것이 좋습니다.

필자의 요점은 파이썬이 UI 애플리케이션에서 Java보다 실제로 나쁘거나 나쁘지는 않다는 것이므로 작업하려는 도구를 사용하십시오.


1

프로그래밍 질문에 대한 다른 사람들의 의견은 (특히 가장 사랑하거나 가장 싫어하는 언어에 대한) 다른 사람의 의견은 거의 가치가 없습니다. .

그러나 빠르고 간단한 Windows GUI를 사용하기 위해 5 센트의 가치가 있습니다. Python과 wxWidget의 조합은 매우 효과적입니다. 그러나 내가 말했듯이 직접 시도해보십시오. 많은 Python 경험이 없어도 한 시간 안에 간단하지만 유용한 것을 모을 수 있습니다 (확실히 많지는 않습니다).


1

누구나 검색 엔진을 통해 여기에 온 경우 : PAGE 생성기를 사용하여 Tkinter 예제를 빠르게 생성 할 수 있습니다. 그것은 당신이 가고 싶은 곳을 얻는 데 필요한 아이디어를 줄 알맞은 코드를 생성합니다. 저자가 말했듯이 일반성을 확보해야하지만 물을 테스트하거나 어디로 가고 있는지에 대한 일반적인 아이디어를 얻으려면 좋은 도구입니다. SourceForge의 PAGE .


-1

필자는 특정 유형의 응용 프로그램을 Python으로 작성하기가 상당히 쉽다고 생각합니다.

예를 들어 Task Coach 는 Python / wxPython으로 작성되었습니다. 그들은 py2app, py2exe 등과 같은 Python2exe 컴파일러를 사용하여 크로스 플랫폼, 기본 모양의 실행 파일을 만듭니다.


-1

Windows 에코 시스템에서 개발로 제한되고 Visual Studio를 사용하는 경우 Iron Python을 고려하십시오. Iron Python은 Python과 .NET 객체입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.