Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
devwiki:python_qt [2022/08/30 07:05] – [Tree Widget] ying | devwiki:python_qt [2024/01/10 03:08] (current) – [Layout and Container] ying | ||
---|---|---|---|
Line 366: | Line 366: | ||
* get global text color <code python> | * get global text color <code python> | ||
text_color = self.palette().color(QtGui.QPalette.Text).name() | text_color = self.palette().color(QtGui.QPalette.Text).name() | ||
+ | </ | ||
+ | * list all current color palette of default in app <code python> | ||
+ | from PySide2 import QtCore, QtGui, QtWidgets | ||
+ | import MyToolName | ||
+ | ui = MyToolName.main() | ||
+ | color_info = ui.palette().color(QtGui.QPalette.Dark).name() | ||
+ | print(' | ||
+ | |||
+ | color_roles = [ | ||
+ | QtGui.QPalette.WindowText, | ||
+ | QtGui.QPalette.Dark, | ||
+ | QtGui.QPalette.ButtonText, | ||
+ | QtGui.QPalette.Highlight, | ||
+ | QtGui.QPalette.AlternateBase, | ||
+ | ] | ||
+ | |||
+ | print(" | ||
+ | for role in color_roles: | ||
+ | color = ui.palette().color(role) | ||
+ | print(f" | ||
</ | </ | ||
* apply style sheet file <code python> | * apply style sheet file <code python> | ||
Line 1141: | Line 1161: | ||
my_layout.setAlignment(QtCore.Qt.AlignTop) | my_layout.setAlignment(QtCore.Qt.AlignTop) | ||
</ | </ | ||
- | * QGridLayout <code python> | + | * QGridLayout <code python> |
+ | |||
+ | # -- make grid equal size for all cells | ||
+ | cur_layout = ui[' | ||
+ | # for i in range( cur_layout.rowCount() ): | ||
+ | # cur_layout.setRowStretch( i, 1) | ||
+ | for j in range( cur_layout.columnCount() ): | ||
+ | cur_layout.setColumnStretch( j, 1 ) | ||
+ | |||
+ | </ | ||
* QFormLayout | * QFormLayout | ||
* QSplitter <code python> | * QSplitter <code python> | ||
Line 1154: | Line 1183: | ||
* customize look <code python> | * customize look <code python> | ||
my_tab.setStyleSheet(" | my_tab.setStyleSheet(" | ||
+ | </ | ||
+ | * QScrollArea | ||
+ | * put widget into a scroll area <code python> | ||
+ | # main_layout is top most layout | ||
+ | main_scroll = QtWidgets.QScrollArea() | ||
+ | main_scroll.setWidgetResizable(1) | ||
+ | |||
+ | content_widget = QtWidgets.QWidget() | ||
+ | content_layout = QtWidgets.QVBoxLayout(content_widget) | ||
+ | |||
+ | main_scroll.setWidget(content_widget) | ||
+ | |||
+ | test_label = QtWidgets.QLabel(' | ||
+ | test_label.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse) | ||
+ | content_layout.addWidget(tmpLabel) | ||
+ | |||
+ | main_layout.addWidget(main_scroll) | ||
+ | # optional | ||
+ | main_layout.setStyleSheet(" | ||
</ | </ | ||
===== QWidget Property ===== | ===== QWidget Property ===== | ||
Line 1181: | Line 1229: | ||
self.uiList[' | self.uiList[' | ||
self.uiList[' | self.uiList[' | ||
+ | </ | ||
+ | * QLineEdit password hide <code python> | ||
+ | self.uiList[' | ||
</ | </ | ||
* QTextEdit make it accept plain text only <code python> | * QTextEdit make it accept plain text only <code python> | ||
Line 1379: | Line 1430: | ||
# change bg to pink | # change bg to pink | ||
new_node.setBackgroundColor(0, | new_node.setBackgroundColor(0, | ||
+ | |||
+ | # set to brush and reset to default | ||
+ | self.brush[' | ||
+ | currentNode.setBackground(0, | ||
+ | currentNode.setData(0, | ||
</ | </ | ||
* make tree item editable only for some columes <code python> | * make tree item editable only for some columes <code python> | ||
Line 1895: | Line 1951: | ||
* so now I am moving to Qt + C++ solutions to explore more binary tools development using the same knowledge from python QT side. | * so now I am moving to Qt + C++ solutions to explore more binary tools development using the same knowledge from python QT side. | ||
+ | |||
+ | ====== Problem and Solution ====== | ||
+ | |||
+ | * Problem: qt.qpa.fonts: | ||
+ | * end-user-defined characters (EUDCs), just delete related regedit entry \HKEY_CURRENT_USER\EUDC\1252 | ||
+ | * ref: https:// | ||