笔者想要在网路上实在很难找到好用又齐全的PySide2教学大全,那乾脆自己做一份自己想要的大补帖出来。不然找到的不是不全,就是以残体字为主的半残型态,很难有参考价值。
先看效果
作法
(取消)勾选checkbox
Source Code (上)
from PySide2 import QtGui, QtCore
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
....
....
self.ui.chk_autoRes.stateChanged.connect(self.chkAutoRes)
self.ui.chk_iotr.stateChanged.connect(self.chkTr)
....
....
Source Code (下)
def chkTr(self, state):
if state == QtCore.Qt.Checked:
self.ui.label_translate.setStyleSheet("background-color: aqua")
self.ui.label_translate.setText(" Translate")
self.ui.grb_translate.setEnabled(True)
tProfiles = self.fn.listdir(".\\config")
if not transProfiles is None:
for idx in range(len(tProfiles)):
if "t_" in transProfiles[idx]:
self.ui.cmb_tProfile.addItem(tProfiles[idx][6:-5])
else:
self.ui.label_tlate.setStyleSheet("")
self.ui.label_tlate.setText("")
self.ui.cmb_tProfile.clear()
self.ui.grb_tlate.setEnabled(False)
self.ui.cmb_tlate.setCurrentText("")
def chkAutoRes(self, state):
if state == QtCore.Qt.Checked:
self.ui.grb_autoRes.setEnabled(True)
f_UsrCMDSet = self.fn.listdir(".\\config")
if not f_UsrCMDSet is None:
for idx in range(len(f_UsrCMDSet)):
if "f_" in f_UsrCMDSet[idx]:
self.ui.cmb_fUserConfig.addItem(f_UsrCMDSet[idx][5:-5])
else:
self.ui.grb_autoRes.setEnabled(False)
self.ui.cmb_f_UserConfig.clear()
何时需要使用Grid 去做排版? Grid 是一定要用的吗?
[Ans] 很多Python GUI程序相关的教学中都会特别提到Grid 这部分一定要放在最下面那层才可以,但经由笔者研究pyside2 後发现,除非想要做到不同解析度或程序可以藉由拖拉的方式做放大缩小功能,不然是可以不需要使用Grid 进行Layout相关的设计
要如何防止在Grid 上面设计时,每次使用的元件外观大小都会变形的问题及如何快速把没有Grid Layout的UI版面加入这个样式设计?
[Ans]
效果如下:
作法:
效果如下:
Source Code
if state == QtCore.Qt.Checked:
self.ui.label_autoRes.setStyleSheet("background-color: aqua")
self.ui.label_autoRes.setText("Auto Res")
else:
self.ui.label_autoRes.setStyleSheet("")
self.ui.label_autoRes.setText("")
StyleSheet实际上就是一个UI文件中的样式设计语法,其有非常多设定,但其实常用的就那几种而已 例如: 前(後)景颜色,边框 ....
这边只有介绍颜色的简单应用
参考资料
>>: [Day25] 透过GCP实作(1/4):透过Cloud Function直接拉取资料
Agenda 资安宣言 测试环境与工具 学习目标 技术原理与程序码 References 下期预告 ...
HTML 5 通常有下列6个大部分 1.BOM 2.任何数目的注解与空白字元 3.DOCTYPE 4...
DAY06 开始用 Notebook 在 Azure Machine Learing 上写程序 我们...
https://edm.bnext.com.tw/2021cpx/?utm_source=%E3%8...
"我想不到要讲什麽。" --- RSA演算法 演算法的准备步骤有五个,更准确来说...