文章目录
- 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_img class 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 byte
The 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改为总是删除;