小编eyl*_*esc的帖子

将Kivy设置为全屏

我正在尝试编写一个全屏运行kivy的应用程序.但这些是我的问题:

1)当我运行命令时:

#Config.set('graphics', 'fullscreen', 1)
Run Code Online (Sandbox Code Playgroud)

然后kivy似乎全职,但窗口背景图像周围有很多黑色空间.即使我拉长图像,kivy只是在显示图像时剪切图像.

2)当我运行此命令将窗口大小设置为我的屏幕大小时:

Config.set('graphics', 'width', '1366')
Config.set('graphics', 'height', '768')
Run Code Online (Sandbox Code Playgroud)

这种方式实际上给了我一个比全屏更好的结果,但是kivy返回的高度参数只有715而不是768,这是我告诉kivy使用的值(正如你在上面的Config.set()函数中看到的那样) .

我的屏幕分辨率是1366x768

如何解决这个问题并使我的kivy应用程序真正全屏显示?

非常感谢你

python resolution fullscreen kivy

8
推荐指数
4
解决办法
1万
查看次数

如何模拟QML组件

实际上我正在尝试对嵌入C++对象QML组件进行一些测试.不幸的是,当我执行测试时,我遇到了一些错误.QML文件无法识别C++对象.这也很有意义,因为在main.cpp文件中设置了C++对象.

我的问题是:我如何模拟上下文属性来执行QML测试?或者其他人说,我怎样才能用混合Qt/QML代码进行单元测试?

c++ unit-testing mocking qml qt5

8
推荐指数
1
解决办法
1397
查看次数

当光标在子窗口小部件上时,QWidget :: mouseMoveEvent不会触发

我试图QWidget通过重新实现鼠标移动来捕获光标坐标QWidget::mouseMoveEvent().启用鼠标跟踪后,当我将光标移动到主窗口小部件时,会生成鼠标移动事件.但是,当光标放在子窗口小部件上时,鼠标移动事件将停止触发.

鼠标按下/释放事件在光标位于同一子窗口小部件上时起作用,如果按住鼠标按钮,则移动事件将正确触发.我也尝试过对孩子们进行鼠标跟踪,但似乎没有什么区别.当鼠标位于子窗口小部件上时,如何触发鼠标移动事件?

这是演示问题的最小工作示例:

import sys
from PyQt4 import QtCore, QtGui

class MyWindow(QtGui.QWidget) :
    def __init__(self):
        QtGui.QWidget.__init__(self)
        tabs = QtGui.QTabWidget()
        tab1 = QtGui.QWidget()
        tab2 = QtGui.QWidget()
        tabs.addTab(tab1, "Tab 1")
        tabs.addTab(tab2, "Tab 2")
        layout = QtGui.QVBoxLayout()
        layout.addWidget(tabs)
        self.setLayout(layout)
        self.setMouseTracking(True)

    def mouseMoveEvent(self, event):
        print 'mouseMoveEvent: x=%d, y=%d' % (event.x(), event.y())


app = QtGui.QApplication(sys.argv)
window = MyWindow()
window.setFixedSize(640, 480)
window.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

当鼠标移动到鼠标外时,QTabWidget按预期打印鼠标坐标.除非按住鼠标按钮,否则没有任何反应.

python pyqt pyqt4

8
推荐指数
1
解决办法
7679
查看次数

PIL Image to QPixmap转换问题

我一直在努力应对这一挑战,我已经设法利用以前的帖子和其他资源获得了一个好点.

我正在尝试将PIL.Image转换为QPixmap,以便我可以在PyQT GUI上使用QgraphicsScene进行显示.但是当显示图片时颜色已经改变了?有没有人遇到过这个问题?

我用于此的代码如下.

self.graphicsScene.clear()
im = Image.open('Penguins.jpg')
im = im.convert("RGBA")
data = im.tobytes("raw","RGBA")
qim = QtGui.QImage(data, im.size[0], im.size[1], QtGui.QImage.Format_ARGB32)
pix = QtGui.QPixmap.fromImage(qim)
self.graphicsScene.addPixmap(pix)
self.graphicsView.fitInView(QtCore.QRectF(0,0,im.size[0], im.size[1]), QtCore.Qt.KeepAspectRatio)
self.graphicsScene.update()
Run Code Online (Sandbox Code Playgroud)

我在Windows 7 64bit上,使用python 3.4与PyQt4和枕头3.1.0.我得到的结果可以在下面看到.

原始图片

GUI中显示的图片

提前致谢 :).

python pyqt pyqt4 python-imaging-library pillow

8
推荐指数
3
解决办法
7157
查看次数

QtWidgets.QFileDialog.getOpenFileName返回一个元组

我最近更新到了Qt5 for Python的新版本.在这样做时,我一直在根据已经发生的一些显着变化来改变我的代码.我希望能够深入了解我创建的这一行代码.这感觉就像是解决从函数中获取string而不是a 的问题的一种肮脏方式tuple.(注意[0]在行尾)

filename = QtWidgets.QFileDialog.getOpenFileName(None, "Open " + key + " Data File", '.', "(*.csv)")[0]
Run Code Online (Sandbox Code Playgroud)

我想要 filename = {str}'C:/.././.../format.csv'

filename = <class 'tuple'>: ('C:/.././.../format.csv', '(*.csv)')

python pyqt qt5 pyqt5 qtwidgets

8
推荐指数
1
解决办法
6003
查看次数

如何让pyttsx模块的声音变慢

我的代码:

import pyttsx3
import random

engine = pyttsx3.init()
words = ['hello', 'word']     
engine.say(random.choice(words)) #Say these words slower
Run Code Online (Sandbox Code Playgroud)

我不希望它变得非常慢,只是慢到足以让非母语人士轻松理解单词列表中的单词。另外,如果使用 pyttsx 模块无法做到这一点,您能否建议一个可以做到这一点的模块?

python python-module text-to-speech python-3.x pyttsx

8
推荐指数
2
解决办法
7418
查看次数

PyQt5和OpenCV有类似的库; 如何避免2之间的冲突?

我在相同的conda虚拟环境中有PyQt5和OpenCV.

opencv-python==3.4.1.15    
PyQt5==5.10.1    
Run Code Online (Sandbox Code Playgroud)

每当我运行我的PyQt5应用程序时,我会收到许多警告:

objc[7992]: Class QCocoaPageLayoutDelegate is implemented in both /Users/alexryan/miniconda3/envs/qacker/lib/python3.5/site-packages/cv2/.dylibs/QtGui (0x109ae0290) and /Users/alexryan/miniconda3/envs/qacker/lib/python3.5/site-packages/PyQt5/Qt/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport (0x10a387f20). One of the two will be used. Which one is undefined.
objc[7992]: Class QCocoaPrintPanelDelegate is implemented in both /Users/alexryan/miniconda3/envs/qacker/lib/python3.5/site-packages/cv2/.dylibs/QtGui (0x109ae0308) and /Users/alexryan/miniconda3/envs/qacker/lib/python3.5/site-packages/PyQt5/Qt/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport (0x10a387f70). One of the two will be used. Which one is undefined.    
objc[7992]: Class QCocoaApplicationDelegate is implemented in both /Users/alexryan/miniconda3/envs/qacker/lib/python3.5/site-packages/cv2/.dylibs/QtGui (0x109ae0010) and /Users/alexryan/miniconda3/envs/qacker/lib/python3.5/site-packages/PyQt5/Qt/plugins/platforms/libqcocoa.dylib (0x10c6ed480). One of the two will be used. Which one is undefined.    
objc[7992]: Class QNSApplication is implemented in both …
Run Code Online (Sandbox Code Playgroud)

python opencv pyqt5 conda

8
推荐指数
1
解决办法
623
查看次数

使用 Open CV 获取轮廓内的平均颜色

所以我决定开始一起学习 Open CV 和 Python!

我的第一个项目是在相对静止的背景上检测移动物体,然后检测它们的平均颜色以对它们进行排序。至少有 10 个物体需要检测,我正在处理彩色视频。

到目前为止,我设法去除背景,识别轮廓(可选地获取每个轮廓的中心),但现在我正在努力获得每个轮廓内部的平均或平均颜色。有一些关于此类问题的主题,但其中大部分是用 C 编写的。显然我可以使用,cv.mean()但我无法获得一个工作掩码来提供此功能。我想这不是那么困难,但我被困在那里......干杯!

import numpy as np
import cv2

video_path = 'test.h264'

cap = cv2.VideoCapture(video_path)
fgbg = cv2.createBackgroundSubtractorMOG2()


while (cap.isOpened):

    ret, frame = cap.read()
    if ret==True:
        fgmask = fgbg.apply(frame)
        (contours, hierarchy) = cv2.findContours(fgmask, cv2.RETR_TREE,cv2.CHAIN_APPROX_NONE)

        for c in contours:
            if cv2.contourArea(c) > 2000:
                cv2.drawContours(frame, c, -1, (255,0,0), 3)
        cv2.imshow('foreground and background',fgmask)
        cv2.imshow('rgb',frame)

    key = cv2.waitKey(1) & 0xFF

    if key == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

python opencv opencv-contour

8
推荐指数
2
解决办法
1万
查看次数

ImportError:导入 QtWebEngineWidgets 时 DLL 加载失败:运行 python 的间谍程序时

我在尝试运行spyder时遇到这个问题

C:\ProgramData\Anaconda3\Scripts>spyder
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\qtpy\QtWebEngineWidgets.py", line 22, in <module>
    from PyQt5.QtWebEngineWidgets import QWebEnginePage
ImportError: DLL load failed while importing QtWebEngineWidgets: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

在处理上述异常的过程中,又出现了一个异常:

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\Scripts\spyder-script.py", line 10, in <module>
    sys.exit(main())
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\start.py", line 178, in main
    from spyder.app import mainwindow
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 90, in <module>
    from qtpy import QtWebEngineWidgets  # analysis:ignore
  File "C:\ProgramData\Anaconda3\lib\site-packages\qtpy\QtWebEngineWidgets.py", line 26, in <module>
    from PyQt5.QtWebKitWidgets import QWebPage as QWebEnginePage
ModuleNotFoundError: No …
Run Code Online (Sandbox Code Playgroud)

python pyqt spyder anaconda

8
推荐指数
1
解决办法
1万
查看次数

Qml:如何使文本或标签可选?

假设我有文字成分:

Text {      
      text: "Hello"
      wrapMode: Text.WordWrap    
}
Run Code Online (Sandbox Code Playgroud)

如何使其可选?

qt qml qt5

7
推荐指数
1
解决办法
1433
查看次数