unreal-qt icon indicating copy to clipboard operation
unreal-qt copied to clipboard

setup PySide Qt in unreal engine

unreal qt

QT PySide2 support for unreal engine 5 (likely works in unreal 4)

  • prevent widget from instantly dissapearing due to garbage collection
  • automatically style all Qt widgets using Xingyu Lei's unreal_stylesheet
  • dark window bar for a better visual match with Unreal
  • parent widget to Unreal's main window to stay on top

Quickstart

this guide assumes you have PySide2 installed already!

  1. Add the unreal_qt folder in your python path. See unreal docs
  2. Use the following code snippet to create sample.py and add it to unreal python path.
# 1. SETUP - this step can automatically run on editor startup when added to your init_unreal.py
import unreal_qt
unreal_qt.setup()  

# 2. CREATE WIDGET - create your qt widget
# every widget you make after setup won't block the editor & have unreal styling
from PySide2.QtWidgets import QLabel, QWidget, QVBoxLayout
w = QWidget()
layout = QVBoxLayout()
w.setLayout(layout)
layout.addWidget(QLabel("Hello World!"))

# 3. WRAP WIDGET - (optional) manage garbage collection, add darkbar, stay on top
unreal_qt.wrap(w)

# 4. SHOW WIDGET - if using stay on top this needs to run after the wrap stage
w.show()
  1. import script in unreal with the Python terminal to run it.
import sample

image

Dark title bar

The windows bar is by default white on Windows, and QT can't change the bar color.

With unreal_qt you can add a custom bar.

  • default window bar & frame

image

  • custom bar, no frame (no resize support!)

image

  • custom bar, frame, no title bar (supports resize)

image

community

similar to

  • https://github.com/FXTD-ODYSSEY/Unreal-PyToolkit