工具软件 效率 2023-06-17 Mac M1使用问题记录 Python命令使用不同CPU架构 mach-o file, but is an incompatible architecture (have ‘x86_64’, need ‘arm64e’) 12345# 使用苹果架构arch -arm64 python xxx.py# 使用intel架构arch -x86_64 python xxx.py Read More
PythonPyQt Qt 2023-06-17 QListWidget 一些技巧让QListWidget的高度跟着内容的高度变化12345678910111213141516from PySide import QtGui, QtCoreapp = QtGui.QApplication([])window = QtGui.QWidget()layout = QtGui.QVBoxLayout(window)list = QtGui.QListWidget()list.addItems(['Winnie Puh', 'Monday', 'Tuesday', 'Minnesota', 'Dracula Calista Flockhart Meningitis', 'Once', '123345', 'Fin'])list.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)list.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)list.setFixedSize(list.sizeHintForColumn(0) + 2 * list.frameWidth(), list.sizeHintForRow(0) * list.count() + 2 * list.frameWidth())layout.addWidget(list)window.show()app.exec_() 参考 https://stackoverflow.com/questions/6337589/qlistwidget-adjust-size-to-content Read More
PythonPyQt PyQt 2023-06-17 emoji表情处理 在QLabel上显示emoji表情,win10和win7显示的效果不一样,win10能显示出彩色的,但win7只能显示黑白色,且有些表情甚至不能显示。 不同系统的实现效果都是不一样的,所以要实现统一,最好的方式就是自己实现,通过其unicode值建立一套对应的图片,显示的时候,直接绘制本地的图片。而不走系统渲染。 参考 https://appuals.com/how-to-get-windows-10-emojis-on-windows-7-8/ Read More
PythonPyQt Qt 2023-06-17 Qt中圆形头像 业务需求中经常需要头像是圆形的,一些数字底部有圆形背景,于是将其整理出来,以便以后方便的使用。 123456789101112131415161718192021class CircleThumbWiget(QWidget): def __init__(self, parent=None, radius=40): """ radius 表示这个圆形控件的大小 """ super(CircleThumbWiget, self).__init__(parent) self.imageLabel = QLabel(self) self.imageLabel.setScaledContents(True) self.imageLabel.setGeometry(0, 0, radius, radius) defaultPixmap = QPixmap("resources/icon/default_user.png") self.imageLabel.setPixmap(defaultPixmap) # 这里使用一张周边透明的圆形的png图片 img = QImage("resources/icon/default_user_mask.png") bg = QPixmap.fromImage(img.scaled(QSize(radius, radius), Qt.IgnoreAspectRatio)) palette = self.palette() palette.setBrush(QPalette.Background, QBrush(bg)) self.setPalette(palette) self.setMask(bg.mask()) def setPixmap(self, pixmap): self.imageLabel.setPixmap(pixmap) Read More