小编ekh*_*oro的帖子

urllib2和asyncore之间的性能差异

我对这个简单的python脚本的性能有一些疑问:

import sys, urllib2, asyncore, socket, urlparse
from timeit import timeit

class HTTPClient(asyncore.dispatcher):
    def __init__(self, host, path):
        asyncore.dispatcher.__init__(self)
        self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
        self.connect( (host, 80) )
        self.buffer = 'GET %s HTTP/1.0\r\n\r\n' % path
        self.data = ''
    def handle_connect(self):
        pass
    def handle_close(self):
        self.close()
    def handle_read(self):
        self.data += self.recv(8192)
    def writable(self):
        return (len(self.buffer) > 0)
    def handle_write(self):
        sent = self.send(self.buffer)
        self.buffer = self.buffer[sent:]

url = 'http://pacnet.karbownicki.com/api/categories/'

components = urlparse.urlparse(url)
host = components.hostname or ''
path = components.path

def fn1():
    try:
        response = urllib2.urlopen(url)
        try: …
Run Code Online (Sandbox Code Playgroud)

python urllib2 ipv6 asyncore

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

如何在QTreeView上设置列宽?

忍受我,我仍然是QT的新手,并且无法解决它如何处理事情.

我用两列创建并填充了一个QTreeView:

class AppForm(QMainWindow):
    def __init__(self, parent = None):
        super(AppForm, self).__init__(parent)
        self.model = QStandardItemModel()
        self.view = QTreeView()
        self.view.setColumnWidth(0, 800)
        self.view.setEditTriggers(QAbstractItemView.NoEditTriggers)
        self.view.setModel(self.model)
        self.setCentralWidget(self.view)
Run Code Online (Sandbox Code Playgroud)

一切都很好,除了列非常狭窄.我希望setColumnWidth(0,800)会扩展第一列,但它似乎没有任何效果.设置列宽的正确方法是什么?

python pyqt pyqt4 qtreeview

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

Python:如何使用PyQt调整光栅图像的大小

我需要找到一种方法来将输入光栅图像(例如jpg)重新调整为指定的宽度/高度分辨率(以像素为单位).如果在调整新图像大小时PyQt会保持原始图像的纵横比(因此没有拉伸而只是缩放)会很棒.

src ='/ Users/usrName/images/originalImage.jpg'(2048x1024)(矩形图像2:1比例)dest ='/ Usrs/usrName/images/originalImage_thumb.jpg'(64x64)(输出图像为方形1:1)比).

提前致谢!

发布结果FUNC:

...可用于调整大小并将图像转换为QT支持的任何格式到目前为止...例如:'bmp','gif','jpg','jpeg','png','pbm', 'tiff','svg','xbm'

def resizeImageWithQT(src, dest):
    pixmap = QtGui.QPixmap(src)
    pixmap_resized = pixmap.scaled(720, 405, QtCore.Qt.KeepAspectRatio)
    if not os.path.exists(os.path.dirname(dest)): os.makedirs(os.path.dirname(dest))
    pixmap_resized.save(dest)
Run Code Online (Sandbox Code Playgroud)

python resize image pyqt aspect-ratio

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

Python日志记录:如何在日志配置文件中表示格式字符串中的换行符?

我正在从文件配置我的Python日志记录(请参阅http://www.python.org/doc//current/library/logging.html#configuration-file-format).

从该页面上的示例中,我在配置文件中有一个格式化程序,如下所示:

[formatter_form01]
format=F1 %(asctime)s %(levelname)s %(message)s
datefmt=
class=logging.Formatter
Run Code Online (Sandbox Code Playgroud)

如何在指定格式化程序的"格式"字符串中添加换行符?既不工作\n也不\\n工作(例如format=F1\n%(asctime)s %(levelname)s %(message)s不起作用).谢谢

python logging config newline

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

如何使QTableWidget的列占据最大空间?

我的QTableWidget的列不会填充表格的空间,因此在右侧会留下一个空白区域.如何使我的QTableWidget的列占据最大空间以填充这个空间?

python resize pyqt pyqt4 qtablewidget

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

在PyQt中删除QTreeWidgetItem?

我发现找到一种删除我所选择的简单方法令人沮丧QTreeWidgetItem.

我的拼凑方法涉及将树的当前选择设置为current,然后:

if current.parent() is not None:
   current.parent().removeChild(current)
else:
   self.viewer.takeTopLevelItem(self.viewer.indexOfTopLevelItem(current))
Run Code Online (Sandbox Code Playgroud)

这并不可怕,但是没有一个命令可以直接删除该项目吗?

python pyqt qtreewidget

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

为什么我不能在设计器的QStackedWidget中为页面设置布局?

在Qt 4.8.0的设计器中重现的步骤

  • 我在Qt Designer中创建了一个新的对话框表单
  • 我在对话框中添加了一个QStackedWidget
  • 我设置对话框的布局,使对话框的堆叠布局大小
  • 我在堆叠小部件中向第一页添加了一些控件
  • 我在控件的右侧树视图中选择堆叠小部件中的第一页
  • 该页面旁边的图标(这是一个QWidget)显示页面缺少布局

当我单击上面的一个布局按钮时,它不会更改页面QWidget的布局,即使我已经明确选择了页面,它也会更改对话框的布局.

这是设计师的错误吗?我错过了什么吗?我真的不想以编程方式添加布局,因为这使我无法在同一.ui文件中布局设计器中的页面

layout user-interface qt4 qt-designer qstackedwidget

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

这是PyQt 4 python错误还是错误的代码?

以下代码应创建QGraphicsView小部件,该小部件拥有一个QGraphicsScene,其中包含文本:

#!/usr/bin/python

import sys
from PyQt4.QtGui import *


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

  view = QGraphicsView()  
  scene = QGraphicsScene()

  scene.addText("Hello!")

  view.setScene(scene)
  view.show();

  sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

这将打开窗口,将文本放在那里,但在关闭窗口后 - python转储核心并打印出几个问题:

(python:5387): Gtk-CRITICAL **: IA__gtk_container_add: assertion `GTK_IS_CONTAINER (container)' failed

(python:5387): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
...clip...
... above message is shown many, many times ...
...clip...
(python:5387): Gtk-CRITICAL **: IA__gtk_widget_realize: assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

版本:python2.7 2.7.3-0ubuntu3.1 python-qt4 4.9.1-2ubuntu1

pyqt segmentation-fault pyqt4 python-2.7 qgraphicsscene

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

QIcon.fromTheme不在PyQt中显示图标

我很难显示从当前图标主题中选择的QAction的图标.我用Qt设计师制作了ui并将其导出pyuic4 sample.ui > sample.py.从主题设置图标后self.actionSample.setIcon(QtGui.QIcon.fromTheme(_fromUtf8("document-open"))),我得到以下源代码:

from PyQt4 import QtCore, QtGui
import sys

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    _fromUtf8 = lambda s: s

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(800, 600)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName(_fromUtf8("statusbar"))
        MainWindow.setStatusBar(self.statusbar)
        self.toolBar = QtGui.QToolBar(MainWindow)
        self.toolBar.setObjectName(_fromUtf8("toolBar"))
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
        self.actionSample = QtGui.QAction(MainWindow)
        self.actionSample.setObjectName(_fromUtf8("actionSample"))
        self.actionSample.setIcon(QtGui.QIcon.fromTheme(_fromUtf8("document-open")))
        self.toolBar.addAction(self.actionSample)

        QtCore.QMetaObject.connectSlotsByName(MainWindow)

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    window = QtGui.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(window)
    window.show()
    app.exec_()
Run Code Online (Sandbox Code Playgroud)

当我执行它时,工具栏不会显示图标'document-open'.这是一个错误还是我做错了什么?

谢谢

python icons pyqt pyqt4 qt-designer

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

pyqt:如何将样式表应用于自定义窗口小部件

# -*- coding: utf-8 -*-

import sys
from PyQt4.QtGui import *  
from PyQt4.QtCore import * 

class MainWindow(QWidget):
    def __init__(self):
        super(MainWindow, self).__init__()

        self.setFixedWidth(200)
        self.setFixedHeight(200)

        stylesheet = \
            ".QWidget {\n" \
            + "border: 20px solid black;\n" \
            + "border-radius: 4px;\n" \
            + "background-color: rgb(255, 255, 255);\n" \
            + "}"
        self.setStyleSheet(stylesheet)

if __name__ == '__main__':

    app = QApplication(sys.argv)
    main = MainWindow()
    main.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

我想用样式表添加边框到自定义小部件,但样式表似乎不起作用,有什么不对吗?

python pyqt pyqt4 qtstylesheets pyqt5

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