我正在尝试实现一个小部件(一个临时工具箱),它将放置在场景的右侧。它应该看起来像这样:

在移动和缩放视图时将其正确放置在那里并保持相同的大小和位置是一个问题。
小部件本身是一个 QComboBox。我尝试将其作为 QGraphicsWidget 放入场景中,将 ZValue 设置为较高的数字并将其设置为 QGraphicsLinearLayout。不幸的是,我无法将其与左侧对齐,而且我觉得我的做法是错误的。
这是一个草图:
from PySide2 import QtWidgets, QtCore, QtGui
import sys
def hex2QColor(color):
r = int(color[0:2], 16)
g = int(color[2:4], 16)
b = int(color[4:6], 16)
return QtGui.QColor(r, g, b)
class rotateGroupBox(QtWidgets.QGroupBox):
"""Create content to fill the widget"""
def __init__(self, parent=None):
super(rotateGroupBox, self).__init__(parent)
self.setTitle("Rotation")
self.l_rotate = QtWidgets.QSpinBox()
self.l_rotate.setRange(0, 360)
self.r_rotate = QtWidgets.QSpinBox()
self.r_rotate.setRange(0, 360)
self.l_label = QtWidgets.QLabel("Left: ")
self.r_label = QtWidgets.QLabel("Right: ")
layout = QtWidgets.QVBoxLayout()
l1 = QtWidgets.QHBoxLayout()
l1.setContentsMargins(0,0,0,0)
l1.addWidget(self.l_label)
l1.addWidget(self.l_rotate)
l2 = QtWidgets.QHBoxLayout() …Run Code Online (Sandbox Code Playgroud) 我正在研究 Qt3D 框架并决定复制这个c++ 示例的简化版本
不幸的是,我在应用程序启动时没有看到环面网格。我已经创建了所有必需的实体并在SceneModifier类中启用了一个网格。
它可能有什么问题?我以为我的相机实施不好,但似乎没问题。与点光源相同。
import sys
from PySide2 import QtWidgets, QtCore, QtGui
from PySide2.Qt3DCore import Qt3DCore
from PySide2.Qt3DExtras import Qt3DExtras
from PySide2.Qt3DRender import Qt3DRender
class SceneModifier(QtCore.QObject):
def __init__(self, root_entity=None):
super().__init__()
# Scene entity
self._m_root_entity = Qt3DCore.QEntity(root_entity)
# Torus shape data
self.m_torus = Qt3DExtras.QTorusMesh()
self.m_torus.setRadius(1.0)
self.m_torus.setMinorRadius(0.4)
self.m_torus.setRings(100)
self.m_torus.setSlices(20)
# Torus transform
torus_transform = Qt3DCore.QTransform()
torus_transform.setScale(2.0)
torus_transform.setRotation(QtGui.QQuaternion.fromAxisAndAngle(QtGui.QVector3D(0.0, 0.1, 0.0), 25.0))
torus_transform.setTranslation(QtGui.QVector3D(0.0, 0.0, 0.0))
# Torus material
torus_mat = Qt3DExtras.QPhongMaterial()
torus_mat.setDiffuse(QtGui.QColor(255, 102, 0))
# Torus mesh
self.m_torus_entity …Run Code Online (Sandbox Code Playgroud) 我正在尝试记录namedtuple。当我构建文档时,我WARNING: duplicate object description在记录的函数之后收到警告和相同的空函数。例如:
如何删除这些别名?我已经尝试过这个解决方案,编写了一些函数来conf.py创建空属性。
另外,我认为值得一提的是,构建后我得到了一个使用说明:noindex:,但我不明白应该在哪里使用它?在我的文档字符串、第一个文件或其他地方?
代码示例:
File = namedtuple("File", ["path", "size", "extension",
"adate", "mdate", "links",
"user_owner", "group_owner",
"inode", "device", "permissions",
"depth"])
"""File attributes.
.. py:attribute:: path
**-** path to the found file
.. note::
depending on command-line arguments can be absolute or relative
...
Run Code Online (Sandbox Code Playgroud) 我想使用QFileDialog创建一个文件对话框,以选择要在QMediaPlayer中设置的音频文件,并使用文件扩展名掩码(*.mp3, *.ogg, *.flac)。不幸的是,它不起作用,因为它应该将最后一个扩展作为过滤器属性。
我已经尝试过 PyQt5 和 PySide2,结果是相同的。它在过滤器列表中显示具有最新扩展名的文件,例如仅 *.mp3 或 *.flac
audioFormats = "*.mp3, *.wav, *.ogg, *.wma, *.flac"
print(f"these are formats: {audioFormats}")
self.track, _ = self.getOpenFileName(parent=self, caption="Set track file", filter=f"Audio files ({audioFormats})")
Run Code Online (Sandbox Code Playgroud)
我预计它会显示具有所有这些扩展名的文件。
我需要编写一个 bash 脚本,使用 imagemagick 注释给定的图像。问题是,该图像可以是任何大小,并且其注释在任何图像上看起来都应该几乎相同。
任何图像上的输出结果都应如下所示:
所以我想弄清楚以下几点:
python ×4
pyside2 ×3
autodoc ×1
bash ×1
imagemagick ×1
pyqt5 ×1
qfiledialog ×1
qmediaplayer ×1
qt3d ×1