Giter Club home page Giter Club logo

pyqt's Introduction

各种各样的PyQt测试和例子

Blog codebeat badge Badge LICENSE

https://pyqt.site 论坛是专门针对PyQt5学习和提升开设的网站,分享大家平时学习中记录的笔记和例子,以及对遇到的问题进行收集整理。

GitHub watchers GitHub stars GitHub forks

如果您觉得这里的东西对您有帮助,别忘了帮忙点一颗:star:小星星:star:

客户端下载 | 自定义控件

QQ群

or

       PyQt 学习                 PyQt 频道

状态

Alt

目录

其它项目

一些Qt写的三方APP

感谢所有捐助者的鼓励,这里 列出了捐助者名单(由于一些收款渠道无法知道对方是谁,如有遗漏请联系我修改)

or

pyqt's People

Contributors

625781186 avatar 892768447 avatar featureoverload avatar weike32 avatar xdwgood avatar yimelia avatar zkep avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyqt's Issues

[问题]鼠标事件 无法传递

Environment : / 环境

  • OS: [e.g. Win 10]
  • Python [e.g. 3.6.4 X64]
  • PyQt5 [e.g. 5.10.1]
    2019年7月5日20:29:00

安徽-无业游民-今天天气好 :
重写了QWidget的鼠标移动事件,在QWidget上添加了一个控件之后,鼠标在这个控件上面移动不会触发QWidget的鼠标移动事件.

嵌入Word、excel等后问题

1、嵌入后,能否居中显示Word、Excel内容;
2、嵌入后,能否设置不允许编辑状态;
3、嵌入后,能否设置编辑状态下,显示Word、excel的工具栏;
4、嵌入后,能否完成编辑并进行保存;
5、嵌入后,能否正常进行退出;

请问GraphicsScene怎样才能双击返回坐标值啊

我这里新写了一个GraphicsScene类,用来找到点击的坐标值,可是怎样能将这个值提取出来呢?

class GraphicsScene(QGraphicsScene):
    def __init__(self, parent=None):
        QGraphicsScene.__init__(self, parent)


    def mouseDoubleClickEvent(self, event):
        x = int(event.scenePos().x())
        y = int(event.scenePos().y())
        return x, y

下面是我在主窗口调用使用的

self.graphicsView.scene = GraphicsScene(self)
item = QGraphicsPixmapItem(self.image.scaled(512,512)) 
self.graphicsView.scene.addItem(item)
self.graphicsView.setScene(self.graphicsView.scene)

就是很想在主窗口返回x与y的值,PyQt新手求救😂

[问题]Qlabel 播放视频

Environment : / 环境

  • OS: Win10
  • Python 3.7.2 x64
  • PyQt5 5.11.3

一个合成视频的功能
image
要在合成视频完后在视频预览的label内播放视频
想通过在视频合成完后发射信号的方法来自动预览视频
image
image
上图中的signal3是发射播放视频的信号,Update_3获取合成后的视频位置并播放

目前出现的问题是无法在label那播放视频,请问是不是方法用错了?

[问题]为什么pyqt5中使用多继承时候会报错?

如问题所述,代码如下:

from threading import Thread
from time import sleep

from PyQt5.QtCore import QObject, pyqtSignal, QTimer, Qt
from PyQt5.QtWidgets import QWidget, QVBoxLayout, QProgressBar, QApplication

class A:
    def __init__(self):
        print('I am A')

class _Signals(A, QObject):
    updateProgress = pyqtSignal(int)
    def __init__(self):
        super().__init__()   #如果采用这种初始化方式就会报错:RuntimeError: super-class __init__() of type _Signals was never called

        A.__init__(self)#如果采用这种初始化方式不会报任何错误,为什么呢?
        QObject.__init__(self)

        
Signals = _Signals()

class UpdateThread(Thread):

    def run(self):
        self.i = 0
        for i in range(101):
            self.i += 1
            Signals.updateProgress.emit(i)
            # print(f'current value is: {i}')
            sleep(1)
        self.i = 0
        Signals.updateProgress.emit(i)


class Window(QWidget):

    def __init__(self, *args, **kwargs):
        super(Window, self).__init__(*args, **kwargs)
        self.resize(400, 400)
        layout = QVBoxLayout(self)
        self.progressBar = QProgressBar(self)
        layout.addWidget(self.progressBar)
        Signals.updateProgress.connect(
            self.updatep, type=Qt.QueuedConnection)

        QTimer.singleShot(2000, self.doStart)

    def updatep(self, i):
        self.progressBar.setValue(i)
        QApplication.processEvents()

    def doStart(self):
        self.updateThread = UpdateThread(daemon=True)
        self.updateThread.start()
        

if __name__ == '__main__':
    import sys
    from PyQt5.QtWidgets import QApplication
    app = QApplication(sys.argv)
    w = Window()
    w.show()
    sys.exit(app.exec_())

关于多进程,信号问题。

在主界面里面,开启多个进程,将信号传递给子进程,依此来更新主界面对应的进度条,发现子进程不能发送信号给主界面。老哥来个例子

打包 pyinstaller 里面的加密怎么使用呢?

pyinstaller -key 并 16个字符串
--key=s424rrtgdfwlmndo

打包就报这样的错误

File "/usr/local/lib/python3.6/site-packages/Crypto/Util/_raw_api.py", line 109, in c_uint8_ptr
raise TypeError("Object type %s cannot be passed to C code" % type(data))
TypeError: Object type <class 'str'> cannot be passed to C code

播放器

基于 qtav 或者 迅雷 APlayer 的视频播放器

[问题]QtabWidget 是否与Qwidget相冲突?

Environment : / 环境
OS: Win10
Python 3.7.2 x64
PyQt5 5.11.3]

弄了一个widget,将其提升为myVideoWidget来播放视频
但是在实际运行时这个控件出了问题
这是在QT designer预览的样子
image
运行时切换上面红线的tab界面会导致这个控件将其他tab相对应的区域的界面截取下来
效果是这样的
image
把其他tab的区域截取了下来。就出了这个显示问题,其他功能一切正常
请问该如何解决这个问题,最近问题比较多轻喷,望不吝赐教

动态气泡提示?

我想要一个气泡提示的,就是qq 聊天记录那种,会在桌面右下角进行提示,竖排的气泡,旧内容的气泡随着新的内容自动上浮并一段时间后消失,下面一直上浮新的消息
像这样子
image

[问题]Pyqt连接Oracle数据库需要装什么驱动么

    db = QtSql.QSqlDatabase.addDatabase('QOCI')
    db.setHostName('192.168.101.81')
    db.setDatabaseName('orcl')
    db.setUserName('ankole')
    db.setPassword('jsdx_1234')
    db.setPort(1521)
    dbconn=db.open
    print(db.open())

这样子返回是false,不知道怎么搞

导入模块报错提示蓝牙的API好像是

Python 代码
from PyQt5.Qt import *

错误提示

This Windows version(6.3.9600)does not support the requiredBluetooth Apl. Consider updating to a more recent Windows(10.0.10586 or above)

[无效]oracle

Environment : / 环境

  • OS: [e.g. Win 10]
  • Python [e.g. 3.6.4 X64]
  • PyQt5 [e.g. 5.10.1]

可视化界面对接需求的问题

做了个可视化界面来实现需求代码中的功能
image
image

想通过图中的“确定”按钮来实现 “选择图片文件夹 -- 选择排序方式 -- 排序”的功能
具体信号与槽函数如下
image
image

这是需求代码
image
image

目前出现的问题为无法实现需求
望群主不吝赐教

[讨论-02]GUI 测试

界面换皮肤功能例子

群主,你的客户端的换皮肤功能,能不能单独抽离出来做个例子,最好带生成配置文件的。

[问题]qtextedit 换行模式 (软换行有可能转换为硬换行吗?)

比如QTextEdit设置了软换行,能否实现把它的软换行变成硬换行?因为自己在插入时按像素或者字符长度调整时,无法达到预期效果。而软换行的效果是自己想要的,但前提是能实现通过什么方法把它转换成硬换行,不知道软换行的地方是否能得到什么标记?本人水平很菜,提的问题可能有点可笑,还望别在意。

设置QTextEdit的部分字符只读

Environment : / 环境

  • OS: Win 10 [e.g. Win 10]
  • Python: 3.6.4 [e.g. 3.6.4 X64]
  • PyQt5: 5.10.1 [e.g. 5.10.1]

请问有没有办法只设置QTextEdit的部分字符只读?如图,我想设置inlutFile只读和可选,而其他字符串可以修改。

image

[讨论-00]规范的pyqt开源软件

评估标准:

  1. 规范的代码 和 设计;
  2. *具备单元测试 ; (代码结构清晰 但没有单元测试的请注明 无单元测试.)
  3. ( 项目代码量/提交次数 适度;)

...
ps : 目的: 通过读一些开源项目提高代码设计水平.
ps : 官方说明的一些项目 https://wiki.python.org/moin/PyQt/SomeExistingApplications


ps : 开源项目很少有画 UML图的 , 可以在读项目的时候尝试画图来锻炼逻辑 ;

[问题]QWebengineview 保存cookies问题

Environment : / 环境

  • OS: [e.g. Win 10]
  • Python [e.g. 3.6.4 X64]
  • PyQt5 [e.g. 5.10.1]

发现每次登录github都要验证码 , 但是用eric6的浏览器只需要首次验证 , 之后都不用密码就能登录 :

image

image

使用JsonDocument的时候会报错

QJsonDocument({"abc": QJsonValue("abc")})

如果运行以上代码程序会闪退,只能使用以下代码(去掉QJsonValue):

QJsonDocument({"abc": "abc"})

上面的用法有什么错误呢?

QtWebEngeinChannel

不知阁下是否有兴趣研究论证一番我们使用 一些特殊的手段 设计出使用 Python + PyQt WebEngein打造的对HTML+CSS+JS前端技术兼容的框架呢, 简单的说,我们能不能用现有的Python框架,完成Electron一样的事儿呢...

buttonTest函数实现动态sql语句以及显示

查询功能函数是buttonTest(self) 数据格式和航班数据在下面图片中显示 现在需要在buttonTest这个函数添加代码实现动态SQL语句,并将查询得到的结果显示在self.tableWidget 里
姓名对应self.checkBox和self.lineEdit 证件号对应self.checkBox_2和self.lineEdit_2 航班号对应self.checkBox_3和self.lineEdit_3 座位号对应self.checkBox_4和self.lineEdit_15 登机口对应self.checkBox_6和self.lineEdit_16 序号对应self.checkBox_8和self.lineEdit_17
default
default
数据库链接语句为
self.conn = MySQLdb.connect( host='localhost', user='root', passwd='zdki', db='wenzhou', # charset='utf8', ) self.cur = self.conn.cursor() self.sqlstring = "select * from tourist2 where "

讨论: QWebChannel中,js获取到的Signal存在差异

老哥,想更你讨论一下下面这种情形,如若你知道些什么,还望赐教一二:
QWebChannel允许我们JS和PyQt之间使用信号与槽进行通信,但是我发现一个很奇怪的问题:
一个button,设置其点击的槽函数为发送我们的信号,该信号将在qwebchannel.js中进行接受处理:

    this.transport.onmessage = function (message) {
        var data = message.data;
        console.warn(data);  // 我们在这里把消息数据打印出来
        if (typeof data === "string") {
            data = JSON.parse(data);
        }
        switch (data.type) {
            case QWebChannelMessageTypes.signal:
                channel.handleSignal(data);
                break;
            case QWebChannelMessageTypes.response:
                channel.handleResponse(data);
                break;
            case QWebChannelMessageTypes.propertyUpdate:
                channel.handlePropertyUpdate(data);
                break;
            default:
                console.error("invalid message received:", message.data);
                break;
        }
    }

然后奇怪的问题来了:
图形化界面对Button点击,执行槽函数,槽函数中发送相关信号:

js: {"args":[""],"object":"agent","signal":5,"type":1}

一切都很正常。

但是如果我直接在代码中对button对象执行button.click()

js: {"data":{"agent":{"methods":[["deleteLater",3],["data_pack_received",6]],"properties":[[0,"objectName",[1,2],""]],"signals":[["destroyed",0],["send_data_pack",5]]}},"id":0,"type":10}

这里的信号就被标记为被破坏了,然后js就无法正常的进行我们的回调函数了。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.