小编eyl*_*esc的帖子

qt相机示例不起作用

我正在尝试在Ubuntu,Qt 5.6上执行QCamera示例.观察到"缺少相机服务"消息.

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"
Run Code Online (Sandbox Code Playgroud)

ubuntu qt qt5.6

7
推荐指数
2
解决办法
2608
查看次数

PyCharm错误:[Errno 13]权限被拒绝

我正在使用PyCharm执行我的python程序。今天,我尝试使用Project Interpreter更新所有软件包。在此过程中,我收到以下错误:

在此处输入图片说明

之后,我的所有python库都不会显示在Project Interpreter列表中。谁能帮我解决这个问题?

我在Mac OS X 10.11.6中使用PyCharm Community Edition 2016.2.3。

谢谢。

python pycharm python-3.x

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

加载共享库时出现ZED SDK错误:libGLEW.so.1.13:无法打开共享对象文件:没有这样的文件或目录

我正在尝试从ZED SDK运行ZED Explorer应用程序.但是当我这样做时,我得到了这个错误:

加载共享库时出错:libGLEW.so.1.13:无法打开共享对象文件:没有这样的文件或目录

我尝试使用SO上提到的其他解决方案修复它,但没有任何运气.

c++ ubuntu

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

QListView 中的复选框选择

我开发了一个带有复选框的简单对话框,它允许用户从列表中选择一个或多个项目。除了标准的“确定”和“取消”按钮之外,它还添加了“全选”和“取消全选”按钮,允许用户一次选中/取消选中所有项目(这对于大型列表很方便)。

import os, sys
from PyQt4 import Qt, QtCore, QtGui

class ChecklistDialog(QtGui.QDialog):
    def __init__(self, name, stringlist=None, checked=False, icon=None, parent=None):
        super(ChecklistDialog, self).__init__(parent)

        self.name = name
        self.icon = icon
        self.model = QtGui.QStandardItemModel()
        self.listView = QtGui.QListView()

        if stringlist is not None:
            for i in range(len(stringlist)):
                item = QtGui.QStandardItem(stringlist[i])
                item.setCheckable(True)
                check = QtCore.Qt.Checked if checked else QtCore.Qt.Unchecked
                item.setCheckState(check)
                self.model.appendRow(item)

        self.listView.setModel(self.model)

        self.okButton = QtGui.QPushButton("OK")
        self.cancelButton = QtGui.QPushButton("Cancel")
        self.selectButton = QtGui.QPushButton("Select All")
        self.unselectButton = QtGui.QPushButton("Unselect All")

        hbox = QtGui.QHBoxLayout()
        hbox.addStretch(1)
        hbox.addWidget(self.okButton)
        hbox.addWidget(self.cancelButton)
        hbox.addWidget(self.selectButton)
        hbox.addWidget(self.unselectButton)

        vbox = …
Run Code Online (Sandbox Code Playgroud)

python pyqt pyqt4 qlistview qcheckbox

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

使用 importlib 动态导入包含相对导入的模块

我试图弄清楚如何以编程方式执行包含相对导入的模块。

伪代码

spec = importlib.util.spec_from_file_location(name, path)
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
Run Code Online (Sandbox Code Playgroud)

其中 name 是类,path 是 .py 的绝对路径

当正在加载的模块包含相对导入时,对 exec_module 的调用将引发以下异常:

尝试在没有已知父包的情况下进行相对导入

有没有办法以编程方式执行本身包含相对导入的 python 模块?如果是这样,怎么办?

python python-3.x

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

模块“PyQt6.QtWidgets”没有属性“QDesktopWidget”

我尝试运行此代码,但它总是收到此 AttributeError,我搜索了很多网站但没有任何答案。

QtWidgets.QDesktopWidget().availableGeometry().center()
AttributeError: module 'PyQt6.QtWidgets' has no attribute 'QDesktopWidget'
Run Code Online (Sandbox Code Playgroud)

我的代码:

from PyQt6 import QtCore, QtGui, QtWidgets

class Ui_Form(object):
    def center(self):
        qr = Form.frameGeometry()
        cp = QtWidgets.QDesktopWidget().availableGeometry().center()
        qr.moveCenter(cp)
        self.move(qr.topLeft())
Run Code Online (Sandbox Code Playgroud)

我正在使用 PyQt6 版本 6.1.0,Python 3.9.5

python pyqt python-3.x python-3.9 pyqt6

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

PyQt5 导入错误:未定义符号:_ZNSt12out_of_rangeC1EPKc,versionQt_5

我在 YouTube 上观看了一个有关使用 PyQt5 制作自己的网络浏览器的视频。视频链接: https: //youtu.be/z-5bZ8EoKu4,我发现它很有趣,决定在我的系统上尝试一下。请注意,我使用的是 Arch Linux (Garuda) 的衍生版本。这是代码:

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import *


class MainWindow(QMainWindow) :
    def __init__(self):
        super(MainWindow, self).__init__()
        self.browser = QWebEngineView()
        self.browser.setUrl(QUrl('http://google.com'))
        self.setCentrealWidget()
        self.showMaximized()


app = QApplication(sys.argv)
QApplication.setApplicationName('Chrome Killer')
window = MainWindow()
app.exec_()
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在导入时遇到了错误。我尝试阅读文档并浏览论坛,但空手而归。

Traceback (most recent call last):
  File "/home/tanishq/Tanishq/VS Code/Own Browser/main.py", line 4, in <module>
    from PyQt5.QtWebEngineWidgets import *
ImportError: /home/tanishq/.local/lib/python3.9/site-packages/PyQt5/Qt5/lib/libQt5WebEngineCore.so.5: undefined symbol: _ZNSt12out_of_rangeC1EPKc, version Qt_5
Run Code Online (Sandbox Code Playgroud)

其他相关详情:

  • Python版本:3.9.6
  • PyQt5版本:5.15.2

python pyqt5

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

QStyledItemDelegate::paint - 为什么我的文本没有正确对齐?

我正在尝试 Qt,希望根据其值以自定义文本颜色显示模型。这是一个以颜色渲染它的可选设置,所以我想避免在我的模型中使用 Qt::ForegroundRole ,而是在 QStyledItemDelegate 中实现它。在下面的示例中,我调用QStyledDelegate::paint,然后继续使用 绘制相同文本的红色副本painter->drawText。我的期望是它们应该完美地重叠,而实际上在使用时文本周围似乎有空白QStyledDelete::paint。

这是一个图片的链接,它更好地展示了我正在谈论的内容:

在此输入图像描述

现在提供一些相关的源代码。
mainwindow.cpp包含:

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->treeView->setItemDelegate(new TestDelegate());

    QStandardItemModel *model = new QStandardItemModel(this);
    ui->treeView->setModel(model);

    QList<QStandardItem*> items;
    items << new QStandardItem("Moose")
          << new QStandardItem("Goat")
          << new QStandardItem("Llama");

    model->appendRow(items);
}
Run Code Online (Sandbox Code Playgroud)

testdelegate.cpp包含:

void TestDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
    QStyledItemDelegate::paint(painter, option, index);
    if (index.data().toString() == "Goat") {
        painter->save();
        painter->setPen(Qt::red);
        painter->drawText(option.rect, option.displayAlignment, index.data().toString());
        painter->restore();
    }
}
Run Code Online (Sandbox Code Playgroud)

上述行为发生在我运行 Qt 4.8.x 的 …

c++ qt

6
推荐指数
1
解决办法
4724
查看次数

无法将帧从相机传输到 QML

我正在使用 PyQT5。我想使用 QQuickPaintedItem 将帧从 Opencv 发送到 QML。我在这里写了一个示例实现。我似乎无法找到为什么仅在加载应用程序时才调用一次绘制事件。它仅将一帧从相机绘制到 QML 组件,并且self.update()未调用绘制事件。

from OpenGL import GL
from PyQt5.QtQuick import QQuickPaintedItem, QQuickView
from PyQt5.QtGui import QPainter, QPixmap, QImage
from PyQt5.QtQml import qmlRegisterType
import sys
from PyQt5.QtGui import QColor
from PyQt5.QtCore import QUrl,QObject,pyqtSignal
import cv2.cv2 as cv2
from PyQt5.QtWidgets import QApplication


class ImageWriter(QQuickPaintedItem):

    cam_frame = None

    def __init__(self, *args, **kwargs):
        super(ImageWriter, self).__init__(*args, **kwargs)        
        self.setRenderTarget(QQuickPaintedItem.FramebufferObject) 

    def paint(self, painter):
        print(ImageWriter.cam_frame)
        painter.drawPixmap(0,0,ImageWriter.cam_frame)

    def update_frame(self,frame):
        frame = cv2.resize(frame, (700, 500), cv2.INTER_AREA)
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)
        frame = …
Run Code Online (Sandbox Code Playgroud)

python pyqt qml python-3.x pyqt5

6
推荐指数
1
解决办法
1479
查看次数

如何获取当前的QApplication?

我正在尝试使用 pyQt5 获取对当前 QApplication 对象的引用,但找不到该函数。我对“pyQt get current QApplication”的搜索显示了有关如何创建 QApplication 的结果。所以我的问题是:

是否有全局 QApplication 对象,如果有,如何获得对现有(当前)应用程序的引用。

我问的原因是我想测试调试代码是否在 Qt GUI 应用程序中运行。然后,QMessagebox如果在 Qt 应用程序中使用该函数,我想调出一个来显示错误消息;或以其他方式向标准输出打印一条消息。

python pyqt pyqt5 qapplication

6
推荐指数
1
解决办法
5080
查看次数

标签 统计

python ×7

pyqt ×4

python-3.x ×4

pyqt5 ×3

c++ ×2

qt ×2

ubuntu ×2

pycharm ×1

pyqt4 ×1

pyqt6 ×1

python-3.9 ×1

qapplication ×1

qcheckbox ×1

qlistview ×1

qml ×1

qt5.6 ×1