标签: pyside

PyQt(PySide),WebKit和从/到Javascript的暴露方法

我打算使用PyQt来控制服务器端的嵌入式WebKit浏览器.

我在WebKit中运行的HTML页面中的Javascript中有一些继承应用程序逻辑.

我怎么能用Javascript从主机进程(Python,PyQt)进行通信呢

  • 我可以在页面内调用Javascript函数

  • Python方法暴露给Javascript,可以使用参数从Javascript调用

javascript python webkit pyqt pyside

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

PySide GUI中的应用程序图标

我有一个PySide GUI应用程序(用Python 3编写,在Windows 7 Pro上运行),我在其中设置应用程序图标如下:

class MyGui(QtGui.QWidget):
    def __init__(self):
        super(MyGui, self).__init__()
        ...
        self.setWindowIcon(QtGui.QIcon('MyGui.ico'))

        if os.name == 'nt':
            # This is needed to display the app icon on the taskbar on Windows 7
            import ctypes
            myappid = 'MyOrganization.MyGui.1.0.0' # arbitrary string
            ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
        ...
Run Code Online (Sandbox Code Playgroud)

ctypes这个答案得到了那些东西.如果我删除这些行,那么当我执行时,Python图标会显示在任务栏中python MyGui.py.

包含这些行后,一切看起来都很棒,窗口和任务栏上都有正确的图标.但是,当我使用cxfreeze打包gui时,窗口和任务栏图标都会更改为通用windows .exe图标.

我正在使用此处cxfreeze.bat的说明打包应用程序,包括交换机.使用该开关可以使生成的exe在资源管理器中查看时具有正确的图标.但是,应用程序窗口和任务栏在我启动应用程序时不会显示图标.我已经尝试将.ico文件复制到与.exe相同的目录,但这没有帮助.--icon

我在Windows 7和8上都有相同的行为.奇怪的是,如果我将应用程序固定到任务栏,任务栏图标会正确显示,但窗口图标仍然是通用exe图标.

如何正确显示图标?

python qt qt4 pyside python-3.3

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

如何安装Pyside for Python 2.7?

嘿,我对Pyside很新,不知道如何下载或Qt?我有一台64位的Windows计算机,我想知道下载Qt后我需要下载什么,因为有一个Qt 5.3,Qt 5.2.1等的清单,我不知道下载哪个,因为那里有那些它们下面有多个选项,如MSCV2012 64位和mscv64位OpenGL.基本上我只是迷失在我需要的东西上,似乎无法找到答案.有人可以开导我吗?

谢谢!

python qt qt4 pyside qt5

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

PySide - PyQt:如何将QTableWidget列宽设置为可用空间的比例?

我正在使用PySide开发一个计算机应用程序,我正在使用QTableWidget.假设我的表有3列,但它们包含的数据非常不同,例如(对于每一行)第一列中的长句,然后是最后两列中的3位数字.我想让我的表调整大小以便根据数据调整其大小,或者至少能够将列大小设置为(例如)可用空间的70/15/15%.

做这个的最好方式是什么 ?

table.horizontalHeader().setResizeMode(QHeaderView.Stretch)在阅读完这个问题之后尝试过,但它会生成相同大小的3列.

我还要table.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)感谢Fabio评论,但它没有根据需要填补所有可用空间.

无论是Interactive,Fixed,Stretch,ResizeToContentsQHeaderView文档似乎给我我需要什么(见第二编辑).

任何帮助将不胜感激,即使它是Qt/C++!非常感谢你.


编辑:我找到了一种解决方法,但它仍然不是我想要的:

header = table.horizontalHeader()
header.setResizeMode(QHeaderView.ResizeToContents)
header.setStretchLastSection(True)
Run Code Online (Sandbox Code Playgroud)

如果存在一种setStretchFirstSection方法会更好,但不幸的是似乎没有一种方法.


编辑2:

表中唯一可以修改的是最后一列,用户可以在其中输入一个数字.红色箭头表示我想要的东西.

这是发生的事情 Stretch伸展

这是发生的事情 ResizeToContents ResizeToContents

python user-interface qt pyqt pyside

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

将简单的Qt Designer表单加载到Pyside中

我在Qt设计器中创建了一个简单的表单,并尝试将其加载到我正在使用PySide创建但没有太多运气的Qt应用程序中.

这是'pyside-uic'生成的代码:

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

# Form implementation generated from reading ui file 'clientEditorForm.ui'
#
# Created: Tue Nov  3 23:46:41 2009
#      by: PySide uic UI code generator
#
# WARNING! All changes made in this file will be lost!

from PySide import QtCore, QtGui

class Ui_clientEditorForm(object):
    def setupUi(self, clientEditorForm):
        clientEditorForm.setObjectName("clientEditorForm")
        clientEditorForm.resize(575, 446)
        self.horizontalLayout_3 = QtGui.QHBoxLayout(clientEditorForm)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.splitter = QtGui.QSplitter(clientEditorForm)
        self.splitter.setOrientation(QtCore.Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.layoutWidget = QtGui.QWidget(self.splitter)
        self.layoutWidget.setObjectName("layoutWidget")
        self.verticalLayout = QtGui.QVBoxLayout(self.layoutWidget)
        self.verticalLayout.setObjectName("verticalLayout")
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.searchLabel = QtGui.QLabel(self.layoutWidget) …
Run Code Online (Sandbox Code Playgroud)

python qt4 pyside

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

PySide入门

我决定学习Python Gui开发,因为PyQt是非自由的,所以选择PySide就可以了.但是,与PyQt不同,PySide没有任何教程或截屏,只是文档对初学者来说没用.我没有Qt经验,所以即使在Ubuntu中设置开发环境也是一个问题.你能建议一些可以借鉴的东西吗?

python qt pyqt pyside

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

如何使用Python和Qt动态更改子窗口小部件?

我想创建一个具有子窗口小部件的窗口小部件,我可以动态更改它.这是我尝试过的:

import sys
from PySide.QtCore import *
from PySide.QtGui import *

class Widget(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.setLayout(QVBoxLayout())
        self.child = QLabel("foo", self)
        self.layout().addWidget(self.child)
    def update(self):
        self.layout().removeWidget(self.child)
        self.child = QLabel("bar", self)
        self.layout().addWidget(self.child)

app = QApplication(sys.argv)
widget = Widget()
widget.show()
widget.update()
app.exec_()
Run Code Online (Sandbox Code Playgroud)

问题是,这实际上并没有在视觉上删除"foo"标签.它仍然呈现在"酒吧"之上.问题的屏幕截图.如何删除旧窗口小部件以便仅显示新窗口小部件?

我知道我可以更改标签的text属性.这不是我想要的应用程序,我需要更改实际的小部件(到不同的小部件类型).

python qt pyqt pyqt4 pyside

10
推荐指数
1
解决办法
8375
查看次数

如何在pyside/pyqt/qt中获取QWidget的所有子组件?

我正在使用pyside(qt)开发一个桌面应用程序,我想访问(迭代)QWidget的所有行编辑组件.在qt中我发现了两个方法findChildfindChildren,但没有找到正确的例子,我的代码显示错误,'form'对象没有属性'findChild'. 这里的'形式'是Qwidget表单,包括组件lineEdit,comboboxes,Qpushbuttons等.

码:

lineEdits = form.findChild<QLineEdit>() //This is not working

lineEdits = form.findChild('QLineEdit) //This also not working
Run Code Online (Sandbox Code Playgroud)

python qt children pyside

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

PyQt和Py2exe的系统路径错误

我的问题:

我有这个问题,如果我尝试在我的使用Pyqt/Pyside的python文件上运行py2exe我尝试运行在I:\ Documents\Python\Buttonio_Testio\dist中生成的EXE时会出现以下错误:

运行Package.exe时收到错误:

I:\Documents\Python\Buttonio_Testio\dist>Package.exe
Traceback (most recent call last):
  File "Package.py", line 1, in <module>
  File "PySide\__init__.pyc", line 55, in <module>
  File "PySide\__init__.pyc", line 11, in _setupQtDirectories
  File "PySide\_utils.pyc", line 87, in get_pyside_dir
  File "PySide\_utils.pyc", line 83, in _get_win32_case_sensitive_name
  File "PySide\_utils.pyc", line 58, in _get_win32_short_name
WindowsError: [Error 3] The system cannot find the path specified.
Run Code Online (Sandbox Code Playgroud)

我的setup.py看起来像这样:

    from distutils.core import setup
    import py2exe

    setup(console=['Package.py'])

My program, in Package.py looks like this:

from PySide.QtCore import *
from PySide.QtGui import *
import …
Run Code Online (Sandbox Code Playgroud)

python exe pyqt py2exe pyside

10
推荐指数
3
解决办法
2609
查看次数

在Python中静态链接和动态链接意味着什么?

我知道C或C++中静态和动态链接的区别.但它在Python中意味着什么?由于它只是一个解释器,并且只有一种模式的导入机制,这有什么意义呢?

如果我通过排除特定库来使用cx_freeze冻结我的Python应用程序,它是一种动态链接吗?因为,用户必须自己下载并安装该库才能运行我的应用程序.

实际上我的问题是,我正在使用PySide库(使用LGPL v2.1)来开发Python GUI应用程序.图书馆说我应该动态链接到图书馆以遵守他们的法律条款(与Qt相同).在这种情况下,如何动态链接到PySide?

python qt pyside cx-freeze

10
推荐指数
1
解决办法
1005
查看次数

标签 统计

pyside ×10

python ×10

qt ×7

pyqt ×5

qt4 ×3

children ×1

cx-freeze ×1

exe ×1

javascript ×1

py2exe ×1

pyqt4 ×1

python-3.3 ×1

qt5 ×1

user-interface ×1

webkit ×1