RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-227584

Ramil's questions

Martin Hope
Ramil
Asked: 2020-01-12 18:48:50 +0000 UTC

使用 vk api,qthread (PyQt5)

  • 0

你好。我有一个应用程序在 VK 中执行对存储过程的查询,在单独的 QThread 线程中加载此数据并将数据放在表中。问题是应用程序莫名其妙的崩溃了,调试什么的,我自己已经尝试在程序代码中改了很多。有趣的是,这种情况会周期性发生:有一天应用程序崩溃了,第二天就没有了(我保存了工作代码,输入了相同的输入数据,但应用程序不再工作)。存储过程发出的 API 请求少于 25 个。还有一件事:应用程序正在工作(大约 9-30% 的工作在 ProgressBar 上完成)。请帮我弄清楚问题是什么。

UPD:我试图在浏览器关闭的情况下运行应用程序,应用程序崩溃了大约 50%。我怀疑这个问题与网络负载有关。

这是此应用程序的代码片段:

def update(self, str1):
    str2 = json.loads(str1)
    for i in range(0, len(str2['response'])):
        self.tablewidget.insertRow(self.tablewidget.rowCount())
        print(str2['response'][i]['text'])
        self.tablewidget.setItem(self.tablewidget.rowCount()-1, 0, QTableWidgetItem(str2['response'][i]['text']))

def do_(self):

    if not(not self.text1.toPlainText() or self.text1.toPlainText().isspace() or not self.text2.toPlainText() or self.text2.toPlainText().isspace()):
        if self.progress.value()==100 or self.progress.value()==0:
            self.thread = QtCore.QThread(self)
            self.my = myClass()
            self.my.moveToThread(self.thread)

            self.thread.started.connect(self.my.User_find)
            self.my.finished.connect(self.thread.quit, QtCore.Qt.BlockingQueuedConnection)
            self.my.finished.connect(self.my.deleteLater, QtCore.Qt.BlockingQueuedConnection)
            self.thread.finished.connect(self.thread.deleteLater, QtCore.Qt.BlockingQueuedConnection)
            self.my.message.connect(self.update, QtCore.Qt.BlockingQueuedConnection)

            self.my.sendGlobalVar.connect(self.my.receiveID, QtCore.Qt.DirectConnection)
            self.my.sendGlobalVar.emit(self.text1.toPlainText(), self.text2.toPlainText())

            self.my.progress.connect(self.progress.setValue)

            self.thread.start()
        else: self.msg2.exec()
    else: self.msg1.exec()    

class myClass(QtCore.QObject):
 sendGlobalVar = QtCore.pyqtSignal(str, str)
 finished = QtCore.pyqtSignal()
 message = QtCore.pyqtSignal(str)
 progress = QtCore.pyqtSignal(int)

 globalVar1 = None
 globalVar2 = None

 def receiveID(self, txt1, txt2):
    global globalVar1
    global globalVar2
    globalVar1 = txt1
    globalVar2 = txt2            

 @QtCore.pyqtSlot()
 def User_find(self):
    for f in range(0, 100):
        url="https://api.vk.com/method/execute.getCommentsFromPosts?owner_id=%s&user_id=%s&offset=%s&v=5.60&access_token=..." % (globalVar1, globalVar2, f*4)
        self.message.emit(requests.get(url).text)
        self.progress.emit(f+1)
    self.finished.emit()                  
python-3.x
  • 1 个回答
  • 10 Views
Martin Hope
Ramil
Asked: 2020-01-07 01:44:11 +0000 UTC

在 QTextEdit 中输入密码

  • 2

有没有办法在不显示密码的情况下在 QTextEdit 中输入密码?或者还有什么其他方法可以在 QWidget 中输入密码?我知道像 getpass 这样的模块,但如何将它与小部件连接起来?

qt
  • 1 个回答
  • 10 Views
Martin Hope
Ramil
Asked: 2020-12-21 20:25:49 +0000 UTC

图像未显示在小部件上

  • 1

QScene 上的图像未显示在 QGraphicsView 上。还尝试使用 QLabel 但失败了。

如果不使用小部件,可以显示图像,但使用它后,QGraphicScene 或 QLabel 结果是空的,但文本显示在那里。请告诉我,可能是什么问题?

使用 QScene、QGraphicsView、QWidget 的非工作变体:

  from PyQt5.QtGui import *
  from PyQt5.QtCore import QUrl
  from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest
  from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout, QGraphicsScene, QGraphicsView
  import sys

 class Widget(QWidget):

  def __init__(self):
     super().__init__()
     self.initUI()

  def initUI(self):
     self.setGeometry(50,50,500,500)
     url = "http://pp.vk.me/c627626/v627626428/be07/wbpWha0RqZ4.jpg"
     self.scene = QGraphicsScene()
     self.mainImage = QGraphicsView()
     self.nam = QNetworkAccessManager()
     self.nam.finished.connect(self.finishRequest)
     self.nam.get(QNetworkRequest(QUrl(url)))
     layout = QVBoxLayout()
     layout.addWidget(self.mainImage)
     self.setLayout(layout)
     self.show()

  def finishRequest(self, reply):
     img = QImage()
     img.loadFromData(reply.readAll())
     self.item = QGraphicsPixmapItem(QPixmap.fromImage(img))
     self.scene.addItem(self.item)
     self.scene.setSceneRect(img.rect())
     self.mainImage.setScene(self.scene)


  if __name__ == '__main__': 
     app = QApplication(sys.argv)
     ex = Widget()
     ex.show()

     sys.exit(app.exec_())

使用 QLabel、QWidget 的非工作变体:

from PyQt5.QtGui import *
from PyQt5.QtCore import QUrl
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest
from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
import sys

class Widget(QWidget):

  def __init__(self):
    super().__init__()
    self.initUI()

  def initUI(self):
    url = "http://pp.vk.me/c627626/v627626428/be07/wbpWha0RqZ4.jpg"
    self.lbl = QLabel("loading...")
    self.lbl.setAutoFillBackground(True)
    nam = QNetworkAccessManager()
    nam.finished.connect(self.finishRequest)
    nam.get(QNetworkRequest(QUrl(url)))
    self.layout = QVBoxLayout()
    self.layout.addWidget(self.lbl)
    self.setLayout(self.layout)
    self.show()

  def finishRequest(reply):
    img = QImage()
    img.loadFromData(reply.readAll())
    self.lbl.setPixmap(QPixmap.fromImage(img))

 if __name__ == '__main__': 
    app = QApplication(sys.argv)
    ex = Widget()
    sys.exit(app.exec_())

使用 QLabel 但不使用 QWidget 的工作变体:

from PyQt5.QtGui import *
from PyQt5.QtCore import QUrl
from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest
from PyQt5.QtWidgets import QApplication, QLabel

app = QApplication([])
url = "http://pp.vk.me/c627626/v627626428/be07/wbpWha0RqZ4.jpg"
lbl = QLabel("loading...")
nam = QNetworkAccessManager()

def finishRequest(reply):
    img = QImage()
    img.loadFromData(reply.readAll())
    lbl.setPixmap(QPixmap(img))

nam.finished.connect(finishRequest)
nam.get(QNetworkRequest(QUrl(url)))
lbl.show()
app.exec_()
python
  • 1 个回答
  • 10 Views
Martin Hope
Ramil
Asked: 2020-12-17 06:14:39 +0000 UTC

vk中如何获取用户在特定社区留下的评论

  • 10

vk中如何获取特定用户在特定社区帖子下墙上留下的所有评论?

我查看了 vk api 中存在的所有方法,但尚未找到完成此任务的方法。

作为这个问题的初始数据,给出了用户 ID 和社区 ID。

这是我如何尝试实现它的示例:

for i in range(200):
    url = "https://api.vk.com/method/wall.get?owner_id=%s&offset=%s&count=1" % (self.text1.toPlainText(), i)
    response = requests.get(url).text
    parsed_string = json.loads(response)

    url1="https://api.vk.com/method/wall.getComments?owner_id=%s&post_id=%s&count=100" %(self.text1.toPlainText(), parsed_string['response'][1]['items']['id'])

    response1 = requests.get(url1).text
    parsed_string1 = json.loads(response1)

    for j in range(1, len(parsed_string1['response'])):
        if parsed_string1['response'][j]['items']['from_id']==self.text2.toPlainText():
            item1 = QTableWidgetItem(parsed_string1['response'][j]['items']['text'])
            item2 = QTableWidgetItem(str(datetime.datetime.fromtimestamp(parsed_string1['response'][j]['items']['date'])))
            self.tablewidget.setItem(i-1, 0, item1)
            self.tablewidget.setItem(i-1, 1, item2)

但是在这种情况下,对服务器的请求太频繁了,这个选项太沉闷了。请告诉我应该朝哪个方向前进以及您对这个话题有什么想法。

python
  • 1 个回答
  • 10 Views
Martin Hope
Ramil
Asked: 2020-11-13 00:58:47 +0000 UTC

从文件中读取文本不完整

  • 0

在读取文件和后续转换时,字符串格式的文件中的原始数字被缩短。在文件本身中,有 2 个数字的长度超过 50 个字符。

该任务属于“长算术算法”主题。我尝试将数据写入数组并输出,得到了相同的缩短结果。

请告诉我,可能是什么问题?

代码清单:

class Program
{
    static void Main(string[] args)
    {
        List<string> number1 = (File.ReadAllLines("G:\\subtraction.txt")).ToList();
        File.WriteAllLines("G:\\output_substraction.txt", number1);
        foreach (var s in number1)
        {
            Console.WriteLine(s);
        }
        Console.ReadLine();

    }
}
c#
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5