(6)python开发经验
文章目录
- 1 QListWidget样式显示异常
- 2 模块编码错误
- 3 qtcreator开发pyqt编码错误
更多精彩内容 |
---|
👉内容导航 👈 |
👉Qt开发 👈 |
👉python开发 👈 |
1 QListWidget样式显示异常
-
main.py
import sys from PySide6.QtWidgets import QApplication, QWidget, QListWidget from PySide6.QtWidgets import QListWidgetItem, QLabel, QPushButton, QVBoxLayout, QHBoxLayout from PySide6.QtCore import Qt from ui_widget import Ui_widget from PySide6.QtGui import QPixmap import rc_imgclass MyWidget(QWidget):def __init__(self, parent=None):super().__init__(parent) # 设置parent为None,则为顶层窗口self.ui = Ui_widget()self.ui.setupUi(self)menu = QListWidget()for i in range(10):item = QListWidgetItem(f"Item {i}")item.setTextAlignment(Qt.AlignCenter)menu.addItem(item)text = QLabel()but = QPushButton("Button")layout = QVBoxLayout()layout.addWidget(text)layout.addWidget(but)main = QWidget()main.setLayout(layout)l = QHBoxLayout()l.addWidget(menu, 1)l.addWidget(main, 4)self.setLayout(l)if __name__ == '__main__':app = QApplication(sys.argv)with open("style.css", "r") as f:app.setStyleSheet(f.read())w = MyWidget()w.show()sys.exit(app.exec())
-
style.css
QListWidget {color: #FFFFFF;background-color: #33373B; }QListWidget::item {min-height: 50px; }QListWidget::item:selected {background-color: #2ABf9E; }QLabel {background-color: #FFFFFF;qproperty-alignment: AlignCenter; }QPushButton {background-color: #2ABf9E;padding: 20px;font-size: 18px; }
-
问题:显示时QListWidget中item样式异常
-
解决办法:将加载样式表放到后面
if __name__ == '__main__':app = QApplication(sys.argv)w = MyWidget()w.show()with open("style.css", "r") as f:app.setStyleSheet(f.read())sys.exit(app.exec())
2 模块编码错误
在使用pybind11将C++代码生成pyd模块时,当C++代码中有中文,并且文件使用的是utf-8 bom编码时,py
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 6: invalid start byteThe above exception was the direct cause of the following exception:Traceback (most recent call last):File "E:\py\PythonProject1\main.py", line 2, in <module>import test
ImportError: initialization failed
3 qtcreator开发pyqt编码错误
Error: Invalid project file: C:\Users\MHF\Documents\untitled24\untitled24.pyproject
Expecting value: line 1 column 1 (char 0)
20:43:42: 进程"D:\Python\Python313\Scripts\pyside6-project.exe"退出,退出代码 1 。
Error while building/deploying project untitled24 (kit: Python 3.13.2)
When executing step "Run PySide6 project tool"
解决办法:打开【首选项】【文本编辑器】【行为】【文件编码】,将UTF-8 BOM改为总是删除;