标签: pyqt5

如何使用PyQt5显示Pandas数据帧

我有一个问题,下面的行self.tableView.set??????????(df)应该在PyQt5中显示数据帧.我放 ???那里我错过了我需要的代码.

def btn_clk(self):
        path = self.lineEdit.text()
        df = pd.read_csv(path)
        self.tableView.set??????????(df)
Run Code Online (Sandbox Code Playgroud)

其余的代码可以工作,因为如果我print(df)在上面的代码中使用,数据框就会在IPython控制台中打印出来.所以,Pandas读取CSV并打印出来.

但是,我尝试了很多东西让它在PyQt5中显示出来并且没有任何效果.我对PyQt不太熟悉,刚刚开始玩它而且我被困在这里.

这是我的代码:

from PyQt5 import QtCore, QtGui, QtWidgets
import pandas as pd
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(662, 512)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.verticalLayout = QtWidgets.QVBoxLayout()
        self.verticalLayout.setObjectName("verticalLayout")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setObjectName("lineEdit")
        self.verticalLayout.addWidget(self.lineEdit)
        self.tableView = QtWidgets.QTableView(self.centralwidget)
        self.tableView.setObjectName("tableView")
        self.verticalLayout.addWidget(self.tableView)
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setObjectName("pushButton")
        self.verticalLayout.addWidget(self.pushButton)
        self.horizontalLayout.addLayout(self.verticalLayout)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 662, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow) …
Run Code Online (Sandbox Code Playgroud)

python pyqt qtableview pandas pyqt5

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

找不到PyQt5和QtGui模块

有没有什么理由说QtGui与PyQt5一起打包???

我正在使用Mark Summerfield的Rapid GUI编程书.显然这本书是用Qt4编写的,但我被推荐使用Qt5和PyQt5.我想在第4章中运行第一个示例代码.代码以以下import语句开头:

import sys
import time
from PyQt5.QtCore import *
from PyQt5.QtGui import *
Run Code Online (Sandbox Code Playgroud)

编译器响应:

Traceback (most recent call last):
  File "wakeUp.py", line 4, in <module>
    from PyQt5.QtGui import *
ImportError: No module named 'PyQt5.QtGui'
Run Code Online (Sandbox Code Playgroud)

请注意,PyQt5.QtCore import语句不会生成错误.

从终端,

$ echo $PYTHONPATH
:/usr/lib/python3.3/site-packages
Run Code Online (Sandbox Code Playgroud)

有没有其他人遇到QtGui的导入错误?

从我可以进行的互动会议

>>> import PyQt5.Qt
>>> import PyQt5.QtDBus
>>> import PyQt5.QtNetwork
>>> import PyQt5.QtXmlPatterns
Run Code Online (Sandbox Code Playgroud)

但我没有QtWidgets,QtGui,QtWebkit,QtDesigner和其他几个.

此外,如果它有用,/ usr/lib/python3.3/site-package/PepQt5的内容是:

__init__.py  QtCore.so  QtDBus.so  QtNetwork.so  Qt.so  QtXmlPatterns.so  uic
Run Code Online (Sandbox Code Playgroud)

这是我能够导入的相同模块.其他模块(QtWidgets,QtGui等)是否也应该在这里?

我使用的是Ubuntu 13.04和Python 3.3.

qt pyqt qtgui python-3.x pyqt5

11
推荐指数
2
解决办法
6万
查看次数

如何在Pycharm中安装PyQt5?

当我尝试使用PyCharm导入以下内容时确定

import sys

from PyQt5.QtWidgets import QtGui, QtCore
Run Code Online (Sandbox Code Playgroud)

编译时会生成此错误:

ImportError: No module named 'PyQt5'
Run Code Online (Sandbox Code Playgroud)

基本上我想在PyCharm中使用PyQt5所以请详细说明我应该怎么做才能安装它.

先感谢您.

pycharm pyqt5

11
推荐指数
2
解决办法
4万
查看次数

PyQt5:带QAction的键盘快捷键

简单地说 - 我如何在PyQt5中进行键盘快捷键(运行函数)?我看到我应该QAction以这样或那样的方式,但我不能把这两个和两个放在一起,所有的例子似乎都不适用于PyQt5.谢谢

python keyboard-shortcuts pyqt python-3.4 pyqt5

11
推荐指数
2
解决办法
8166
查看次数

我可以使用setup.py来打包需要PyQt5的应用吗?

我在这看了这个问题:

可以从setuptools setup.py中要求PyQt吗?

分发具有gui的python应用程序并且它基于PyQt的正确方法是什么?(我使用的是PyQt5和Python3)

我还在学习如何分发东西,所以我不知道我的问题是否有意义.


编辑:

答案是正确的,sudo pip3 install .为我自己的setup.py文件工作,但显然pyqt5不包括QtWebKitWidgets模块,并且它不能安装在pip3的单独包中.所以现在我正在考虑完全脱离Python并使用Javascript + Electron作为一种易于运行的多平台语言进行开发.

python pyqt setup.py python-3.x pyqt5

11
推荐指数
1
解决办法
2218
查看次数

如何使用PyQt5设置窗口图标?

from PyQt5 import QtWidgets, QtGui
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class Application(QMainWindow):
    def __init__(self):
        super(Application, self).__init__()
        self.setWindowIcon(QtGui.QIcon('icon.png'))
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置一个窗口图标(窗口的左上角),但正常的图标却消失了.

我尝试了许多图标分辨率(8x8,16x16,32x32,64x64)和扩展名(.png和.ico).

我究竟做错了什么?

python icons qmainwindow pyqt5 python-3.6

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

PyQt5 QuickControls材质风格

我用最新的PyQt5 QuickControls试验,并试图通过QML申请材料风格解释这里这里:

QQuickStyle::setStyle("Material");
Run Code Online (Sandbox Code Playgroud)

但不幸的是,我找不到在PyQt中对QQuickStyle类的任何引用来通过python代码应用样式,只有工作解决方案是为此指定命令行参数:

python app.py -style material
Run Code Online (Sandbox Code Playgroud)

有人能通过python脚本指出我正确应用QuickControls样式吗?

python qt pyqt pyqt5 qtquickcontrols

11
推荐指数
1
解决办法
1955
查看次数

使用 Python 获取视频属性,无需调用外部软件

[更新:] 是的,这是可能的,现在大约 20 个月后。请参阅下面的 Update3![/更新]

这真的不可能吗?我所能找到的只是调用 FFmpeg(或其他软件)的变体。我当前的解决方案如下所示,但为了可移植性,我真正想要的是一个纯 Python 的解决方案,它不需要用户安装额外的软件。

毕竟,我可以使用 PyQt 的 Phonon 轻松播放视频,但我不能简单地获取视频的尺寸或持续时间之类的信息?

我的解决方案使用 ffmpy ( http://ffmpy.readthedocs.io/en/latest/ffmpy.html ),它是 FFmpeg 和 FFprobe ( http://trac.ffmpeg.org/wiki/FFprobeTips )的包装器。比其他产品更流畅,但它仍然需要额外的 FFmpeg 安装。

    import ffmpy, subprocess, json
    ffprobe = ffmpy.FFprobe(global_options="-loglevel quiet -sexagesimal -of json -show_entries stream=width,height,duration -show_entries format=duration -select_streams v:0", inputs={"myvideo.mp4": None})
    print("ffprobe.cmd:", ffprobe.cmd)  # printout the resulting ffprobe shell command
    stdout, stderr = ffprobe.run(stderr=subprocess.PIPE, stdout=subprocess.PIPE)
    # std* is byte sequence, but json in Python 3.5.2 requires str
    ff0string = str(stdout,'utf-8')

    ffinfo = json.loads(ff0string)
    print(json.dumps(ffinfo, indent=4)) …
Run Code Online (Sandbox Code Playgroud)

python video opencv ffmpeg pyqt5

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

PyQt5 Designer is not working: 此应用程序无法启动,因为无法初始化 Qt 平台插件

我有 PyQt5 设计器的问题。我用 -pip install PyQt5 安装 PyQt,然后 -pip install PyQt5-tools 一切正常。但是当我尝试运行 Designer 时,它打开消息框并显示错误:此应用程序无法启动,因为无法初始化 Qt 平台插件!如何处理?

python user-interface qt pyqt pyqt5

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

AttributeError: 模块“sipbuild.api”没有 PyQt5 5.15.0 的属性“prepare_metadata_for_build_wheel”

我尝试安装的程序需要安装 PyQt5 5.15.0 ,这给了我这个错误。奇怪的是,安装适用于最新版本的 PyQt5 (5.15.2),但该程序特别需要 5.15.0。

命令输出:

Collecting PyQt5==5.15.0
  Using cached PyQt5-5.15.0.tar.gz (3.3 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\mshal\appdata\local\programs\python\python39\python.exe' 'C:\Users\mshal\AppData\Roaming\Python\Python39\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\mshal\AppData\Local\Temp\tmp41s11ev6'
         cwd: C:\Users\mshal\AppData\Local\Temp\pip-install-sfw90hvc\pyqt5_e2cc46859b554da7b84798abae5378ba
    Complete output (31 lines):
    Traceback (most recent call last):
      File "C:\Users\mshal\AppData\Roaming\Python\Python39\site-packages\pip\_vendor\pep517\_in_process.py", line 126, in prepare_metadata_for_build_wheel
        hook = backend.prepare_metadata_for_build_wheel
    AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'

    During handling of the above exception, another exception …
Run Code Online (Sandbox Code Playgroud)

python pip python-3.x pyqt5

11
推荐指数
7
解决办法
5724
查看次数