qtDesigner .ui 파일을 python / pyqt에 연결 하시겠습니까?
따라서 QtDesigner로 이동하여 UI를 빌드하면 .ui 파일로 저장됩니다. 이것을 파이썬 파일로 만들거나 파이썬에서 어떻게 사용할 수 있습니까?
코드에서 .ui를 사용하는 또 다른 방법은 다음과 같습니다.
from PyQt4 import QtCore, QtGui, uic
class MyWidget(QtGui.QWidget)
...
#somewhere in constructor:
uic.loadUi('MyWidget.ui', self)
두 가지 방법 모두 좋습니다. 아이콘 등에 대해 Qt 리소스 파일 (매우 유용함)을 사용하는 경우에도 컴파일해야합니다.
pyrcc4.exe -o ui/images_rc.py ui/images/images.qrc
uic
인터페이스 를 컴파일 할 때 .py 파일 끝에 'import images_rc'를 추가하므로이 이름의 파일로 리소스를 컴파일하거나 생성 된 코드에서 이름을 변경해야합니다.
Max의 답변 과 Shriramana Sharma의 메일 링리스트 게시물을 결합하여를 mywindow.ui
포함하는 파일 을로드하기위한 작은 작업 예제 QMainWindow
를 만들었습니다 (Qt Designer의 File-New
대화 상자 에서 메인 창을 생성하도록 선택하면됩니다 ).
로드하는 코드는 다음과 같습니다.
import sys
from PyQt4 import QtGui, uic
class MyWindow(QtGui.QMainWindow):
def __init__(self):
super(MyWindow, self).__init__()
uic.loadUi('mywindow.ui', self)
self.show()
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = MyWindow()
sys.exit(app.exec_())
pyuic 도구 (site-packages \ pyqt4 \ bin)를 사용하여 ui 파일에서 Python 파일을 생성해야합니다.
pyuic form1.ui > form1.py
pyqt4 사용
pyuic4.bat form1.ui > form1.py
그런 다음 form1을 스크립트로 가져올 수 있습니다.
이 기사가 매우 유용하다는 것을 알았습니다.
http://talk.maemo.org/archive/index.php/t-43663.html
이 기사에서 가져온 .ui 파일을 .py 파일로 만들고 변경하는 작업에 대해 간략하게 설명하겠습니다.
- 시작 메뉴에서 Qt Designer를 시작하십시오.
- "새 양식"창에서 "메인 창"을 만듭니다.
- "디스플레이 위젯"에서 왼쪽의 "위젯 상자 메뉴"하단으로
"라벨 위젯"을 추가합니다. (드래그 앤 드롭 클릭) - 새로 추가 된 레이블 위젯을 두 번 클릭하여 이름을 "Hello World"로 변경합니다.
- 이 시점에서 Control + R 핫키를 사용하여 모양을 볼 수 있습니다.
- 원하는 경우 드래그 앤 드롭으로 버튼이나 텍스트 또는 기타 위젯을 추가합니다.
- 이제 양식을 저장합니다. 파일-> 다른 이름으로 저장-> "Hello World.ui"(Control + S는
"다른 이름으로 저장"옵션도 표시 함) "Hello World".ui
파일 을 저장 한 디렉토리를 기록해 둡니다. . (편의를 위해 (C :)에 저장했습니다)
파일이 생성되고 저장되었으므로 이제 pyuic을 사용하여 Python 코드를 생성합니다!
- 시작 메뉴에서 명령 창을 엽니 다.
- 이제 "Hello World.ui"를 저장 한 디렉토리에 "cd"를 입력했습니다. 저에게는 "cd \"가 필요했고 "C :>"프롬프트에 있었는데, 여기서 "Hello World.ui"가 저장되었습니다.
- 파일이 저장된 디렉토리에 도달하면 다음을 입력하십시오.
- pyuic4 -x helloworld.ui -o helloworld.py
- 축하합니다!! 이제 파이썬 Qt4 GUI 애플리케이션이 생겼습니다 !!
- helloworld.py 파일을 두 번 클릭하여 실행하십시오. (나는 pyscripter를 사용하고 두 번 클릭
하면 pyscripter에서 열리고 거기에서 파일을 "실행"합니다)
이것이 누군가를 돕기를 바랍니다.
uic
다음 코드를 사용 하여 PyQt5 에서도 사용할 수 있습니다 .
from PyQt5 import uic, QtWidgets
import sys
class Ui(QtWidgets.QDialog):
def __init__(self):
super(Ui, self).__init__()
uic.loadUi('SomeUi.ui', self)
self.show()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = Ui()
sys.exit(app.exec_())
아래 명령을 사용하여 .ui 파일을 실행 가능한 Python 파일로 변환 할 수 있습니다.
pyuic4 -x form1.ui > form1.py
이제 파이썬 파일을 다음과 같이 바로 실행할 수 있습니다.
python3(whatever version) form1.py
이 파일을 가져 와서 사용할 수 있습니다.
The cleaner way in my opinion is to first export to .py as aforementioned:
pyuic4 foo.ui > foo.py
And then use it inside your code (e.g main.py
), like:
from foo import Ui_MyWindow
class MyWindow(QtGui.QDialog):
def __init__(self):
super(MyWindow, self).__init__()
self.ui = Ui_MyWindow()
self.ui.setupUi(self)
# go on setting up your handlers like:
# self.ui.okButton.clicked.connect(function_name)
# etc...
def main():
app = QtGui.QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
This way gives the ability to other people who don't use qt-designer to read the code, and also keeps your functionality code outside foo.py
that could be overwritten by designer. You just reference ui
through MyWindow
class as seen above.
you can compile the ui files like this
pyuic4 -x helloworld.ui -o helloworld.py
In order to compile .ui files to .py files, I did:
python pyuic.py form1.ui > form1.py
Att.
in pyqt5 to convert from a ui file to .py file
pyuic5.exe youruifile.ui -o outputpyfile.py -x
Using Anaconda3 (September 2018) and QT designer 5.9.5. In QT designer, save your file as ui. Open Anaconda prompt. Search for your file: cd C:.... (copy/paste the access path of your file). Then write: pyuic5 -x helloworld.ui -o helloworld.py (helloworld = name of your file). Enter. Launch Spyder. Open your file .py.
참고URL : https://stackoverflow.com/questions/2398800/linking-a-qtdesigner-ui-file-to-python-pyqt
'programing tip' 카테고리의 다른 글
클릭시 특정 div로 부드럽게 스크롤 (0) | 2020.10.23 |
---|---|
Git 리포지토리에서 삭제 된 폴더 복원 (0) | 2020.10.23 |
웹뷰의 초기 확대 / 축소 / 너비를 설정하는 방법 (0) | 2020.10.23 |
Action ()에서 값을 반환하는 방법은 무엇입니까? (0) | 2020.10.23 |
PopupWindow $ BadTokenException : 창을 추가 할 수 없습니다. 토큰 null이 유효하지 않습니다. (0) | 2020.10.23 |