小编Aze*_*ale的帖子

使用C/C++(GCC/G ++)在Linux中使用套接字编程发送和接收文件

我想使用能够发送和接收文件的套接字和C/C++语言实现在Linux上运行的客户端 - 服务器体系结构.是否有任何库使这项任务变得简单?有人可以提供一个例子吗?

c c++ sockets linux network-programming

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

在PyQt中使用QThread的正确方法示例?

我正在尝试学习如何在PyQt Gui应用程序中使用QThreads.我有一些运行一段时间的东西,有(通常)点我可以更新一个Gui,但我想将主要工作拆分到它自己的线程(有时候东西会卡住,最终会有一个很好的取消/再试一次按钮,如果由于主循环被阻止,Gui被冻结,这显然不起作用).

我已阅读https://mayaposch.wordpress.com/2011/11/01/how-to-really-truly-use-qthreads-the-full-explanation/.该页面说重新实现该run方法不是这样做的方法.我遇到的问题是找到一个PyQt示例,其中有一个主线程正在执行Gui,而一个工作线程没有这样做.这篇博文是针对C++的,所以虽然它的例子确实有帮助,但我仍然有点失落.有人可以请给我一个在Python中正确方法的例子吗?

python pyqt pyqt4 qthread

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

如何识别QNetworkReply完成信号的响应请求,以响应您在QtNetwork中执行多个请求的时间?

我有一个项目将加载一个HTTP页面,解析它,然后根据从第一页收到的数据打开其他页面.

由于Qt的QNetworkAccessManager以异步方式工作,似乎我应该能够通过继续发出HTTP请求一次加载多个页面,然后处理响应将按照回复的顺序发生并且将由甚至循环.

我有一些问题,想弄清楚如何做到这一点:

首先,我在stackoverflow上的某个地方读到你应该只使用一个QNetworkAccess管理器.我不知道这是不是真的.

问题是我正在连接到单个QNetworkAccess管理器上的已完成插槽.如果我一次做多个请求,我不知道完成的信号响应的请求是什么.我不知道是否有办法检查从信号传递的QNetworkReply对象,以了解响应的响应是什么?或者我应该为每个请求实际使用不同的QNetworkAccessManager吗?

这是我现在如何将各种东西链接在一起的一个例子.但是我知道当我在时间上做多个请求时这不起作用:

from PyQt4 import QtCore,QtGui,QtNetwork

class Example(QtCore.QObject):
    def __init__(self):
        super().__init__()
        self.QNetworkAccessManager_1 = QtNetwork.QNetworkAccessManager()
        self.QNetworkCookieJar_1 = QtNetwork.QNetworkCookieJar()
        self.QNetworkAccessManager_1.setCookieJar(self.QNetworkCookieJar_1)
        self.app = QtGui.QApplication([])
    def start_request(self):
        QUrl_1 = QtCore.QUrl('https://erikbandersen.com/')
        QNetworkRequest_1 = QtNetwork.QNetworkRequest(QUrl_1)
        #
        self.QNetworkAccessManager_1.finished.connect(self.someurl_finshed)
        self.QNetworkAccessManager_1.get(QNetworkRequest_1)
    def someurl_finshed(self, NetworkReply):
        # I do this so that this function won't get called for a diffent request
        # But it will only work if I'm doing one request at a time
        self.QNetworkAccessManager_1.finished.disconnect(self.someurl_finshed)
        page = bytes(NetworkReply.readAll())
        # Do something with it
        print(page)
        QUrl_1 = …
Run Code Online (Sandbox Code Playgroud)

qt http qnetworkaccessmanager

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

用于选择文件保存位置的正确 GTK+ 小部件?

我正在尝试在 Glade 中制作一个 GTK+ 界面,让您选择保存文件的位置。我尝试使用 GtkFileChooserButton 小部件,但是当我运行它时,我收到警告

Gtk-WARNING **: gtk_file_chooser_button_set_property: Choosers of type `GtkFileChooserButton' do not support `GTK_FILE_CHOOSER_ACTION_SAVE'. 
Run Code Online (Sandbox Code Playgroud)

并且对话框要我选择要打开的文件,而不是保存。

经过一些谷歌搜索,听起来使用 GtkFileChooserButton 来选择保存文件的位置已经被贬低了。从我发现的邮件列表帖子中,这听起来像是贬值,因为它促进了糟糕的界面设计。

现在,我似乎无法找到正确的方法来做到这一点。

那么,让用户选择保存文件的位置的正确方法是什么?当他们需要能够选择多个文件时呢?

对不起,如果我不知道我在说什么,这是我第一次尝试用 GTK+ 和 C 做一些有用的事情。

c gtk

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

标签 统计

c ×2

c++ ×1

gtk ×1

http ×1

linux ×1

network-programming ×1

pyqt ×1

pyqt4 ×1

python ×1

qnetworkaccessmanager ×1

qt ×1

qthread ×1

sockets ×1