如何旋转图像文件并在matplotlib中绘制?
我知道我可以使用PIL打开它并旋转它,但这对于这个简单的功能似乎太过分了,我可能没找到.
我在这里发现了这段代码,但似乎不起作用:
from matplotlib import pyplot, image, transforms
img = image.imread('filename.png')
pyplot.ion()
fig = pyplot.figure()
ax = fig.add_subplot(111)
for degree in range(360):
pyplot.clf()
tr = transforms.Affine2D().rotate_deg(degree)
ax.imshow(img, transform=tr)
fig.canvas.draw()
Run Code Online (Sandbox Code Playgroud) 我有一个QTreeView,我想扩展最近扩展项目的所有子项目.
我尝试使用.expandAll(),但它也扩展了所有其他项目.
我很难获得最后扩展的项目的ModelIndex,如果我有它,我可以递归扩展它的孩子.
我怎么做?
我有几个小部件将连接到需要额外参数的单个函数。
我发现我可以使用 lambda 函数来向函数传递一些参数。
问题是参数在循环中被替换,而 lambda 函数只传递最后一组。
这是我得到的:
self.widgets是一个带有按钮组键的字典,为了简短起见,假设它有 2 个按钮 [QToolButton],链接到它们的键:“播放”和“停止”。
def connections(self):
for group in self.widgets:
self.widgets[group].clicked.connect(lambda: self.openMenu(group))
def openMenu(self,group):
print group
Run Code Online (Sandbox Code Playgroud)
但是无论我点击哪个按钮,它都会打印同一个组,即在 for 循环中迭代的最后一个组。
有任何解决这个问题的方法吗?
我发现这个模块可以创建midi文件.
我可以轻松地使用pygame mixer.music播放输出文件,但如果我尝试播放而不必保存到文件(播放对象)它不起作用,我得到
pygame.error:无法读取RWops
.
我尝试使用StringIO但没有成功.我上面得到了同样的错误.
有没有人知道任何可以播放MIDI对象的模块,也可以创建它们?
我怎样才能做到这一点?
A = ['fish', 'banana', 'old pajamas', 'Mutton', 'Beef', 'Trout']
B = ['fish', 'banana', 'old pajamas']
B in A = True
A in B = False
Run Code Online (Sandbox Code Playgroud)
我尝试了'in'比较器,但它在两种情况下都返回False,因为它检查List B是否在List A中,而不是A中的B项.
除了使用像这样的非常长的if语句之外,还有一种简单的方法吗?
if B[0] == A[0] and B[1] == A[1] and B[2] == A[2]:
return True
else: return False
Run Code Online (Sandbox Code Playgroud) 我正在尝试重新创建 Windows 记事本。
\n\n我目前正在搞乱QMenuBar
我制作了一本字典,其中包含以下模式的所有菜单和操作:
\n\nmenus = {'File':[['New', 'Ctrl+n'],\n ['Open', 'Ctrl+o'],\n ['Save', 'Ctrl+s'],\n ['Save as...', None],\n 'Separator', \n # and so on\nRun Code Online (Sandbox Code Playgroud)\n\n然后我迭代该字典,并成功创建菜单和操作并将它们存储在第二个字典中。
\n\n现在我正在尝试连接每个action[new, open, save, \xe2\x80\xa6] to a instance method of the same name.
我这样做是这样的:
\n\nfor action in menus[m]:\n action = menu.addAction(action[0])\n\n if action[1]:\n action.setShortcut(QKeySequence(action[1]))\n\n if isinstance(action, QAction):\n fname = action[0].lower() \n # and some other string manipulations\n func = getattr(self,fname)\n action.triggered.connect(lambda arg=action: func(arg))\nRun Code Online (Sandbox Code Playgroud)\n\n它连接成功,但如果我尝试使用任何操作,它不会执行任何操作。
\n\n我以前曾使用 lambda 函数连接操作,但这是我第一次使用 …