小编eyl*_*esc的帖子

PyQt QListWidget自定义项

我怎样才能创建一个QListWidgetItem,它下面有1个图像和2个标签/字符串,它们支持css?

这是我尝试过的最后一件事:

class CustomListWidgetItem(QListWidgetItem, QLabel):
    def __init__(self, parent=None):
        QListWidgetItem.__init__(self, parent)
        QLabel.__init__(self, parent)
Run Code Online (Sandbox Code Playgroud)

我正在使用PyQt btw

python pyqt qlistwidgetitem

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

Qt - Flat QPushButton,背景颜色不起作用

我QPushButton在Qt Designer中创建了这个样式表:

QPushButton#pushButton { 
    background-color: #ffffff;
}
QPushButton#pushButton:disabled {
    background-color: yellow; 
}
QPushButton#pushButton:pressed {
    background-color: orange; 
}
QPushButton#pushButton:focus:pressed { 
    background-color: black;
 }
QPushButton#pushButton:focus { 
    background-color: green; 
}
QPushButton#pushButton:hover {
     background-color: red;
 }
QPushButton#pushButton:checked { 
    background-color: pink;
 }
Run Code Online (Sandbox Code Playgroud)

它工作,但当我在属性中检查"平",然后它不再工作,我想问你为什么?我怎么能这样做,如果我需要平板QPushButton?

qt flat qtstylesheets qpushbutton

7
推荐指数
1
解决办法
4311
查看次数

没有小部件的系统托盘图标

我想知道是否有办法实现系统托盘图标+菜单功能没有小部件模块?

qt qml qt5 qtquick2 qtquickcontrols2

7
推荐指数
1
解决办法
1090
查看次数

Pandas:写入带有 Windows 行结尾的 CSV 文件

例子:

import pandas as pd
df = pd.DataFrame({'A':[1,2], 'B':[3,4]})
df.to_csv('test.csv', line_terminator='\r\n')
Run Code Online (Sandbox Code Playgroud)

给文件

,A,B\r
\r\n
0,1,3\r
\r\n
1,2,4\r
\r\n
Run Code Online (Sandbox Code Playgroud)

然而,我想要

,A,B\r\n
0,1,3\r\n
1,2,4\r\n
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点(即,\r\n而不是\r\r\n)。我的操作系统是 Windows 10。

python csv pandas

7
推荐指数
1
解决办法
9603
查看次数

单击事件时清除 QLineEdit

我正在使用给定的代码,我希望用户在 QLineEdit 小部件中输入文本,按复制!按钮并查看输入的文本替换“N/A”标签。我的问题是:按照此过程,如何通过简单的鼠标单击清除 QLineEdit 小部件中输入的文本?

从我读到的(this、this和this)来看,我似乎需要在扩展 QLineEdit 的新类中重新实现 focusInEvent()。我的问题是我的 GUI 代码是使用 pyuic5 从 Qt Designer 导入的,上面引用的示例似乎没有考虑到这一点。

这是我的代码:

from PyQt5.QtWidgets import *
import sys

import QLineEdit_test


class MainWindow(QMainWindow, QLineEdit_test.Ui_QLineEdit_test):

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)

        self.copy_button.clicked.connect(self.copy_and_print)

    def copy_and_print(self):

        self.label.setText(self.lineEdit.text())


def main():

    app = QApplication(sys.argv)
    form = MainWindow()
    form.show()
    app.exec_()

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

这是我转换后的 .ui 文件:

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_QLineEdit_test(object):
    def setupUi(self, QLineEdit_test):
        QLineEdit_test.setObjectName("QLineEdit_test")
        QLineEdit_test.resize(300, 200)
        QLineEdit_test.setMaximumSize(QtCore.QSize(300, 200))
        self.centralwidget = …
Run Code Online (Sandbox Code Playgroud)

python pyqt qt-designer python-3.x pyqt5

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

尝试多处理时无法腌制本地对象

I\xc2\xb4m 尝试对网站进行多处理抓取,在其中我获取要从中获取信息的所有节点的列表,然后生成一个池,这样它就不会并行地逐一获取数据。我的代码如下:

\n\n
from selenium import webdriver\nfrom selenium.webdriver.common.by import By\nfrom selenium.webdriver.support.ui import WebDriverWait\nfrom selenium.webdriver.support import expected_conditions as EC\nimport multiprocessing\n\ndef ResPartido(node):\n\n   ft=node.find_element_by_css_selector(\'.status\').text\n   if ft.strip()!=\'FT\': return\n   hora=node.find_element_by_css_selector(\'.time\').text\n   names=list()\n   for nam in node.find_elements_by_xpath(\n            \'.//td[contains(@style,"text-align")]/a[contains(@id,"team")]\'):\n     name=nam.text\n     if \'(N)\' in name:\n        name=name.split(\'(N)\')[0]\n     names.append(name)\n   score=node.find_element_by_css_selector(\'.red\')\n\n   return [hora,name,score.text]\n\nif __name__ == "__main__":\n\n   browser=webdriver.Chrome()\n   SOME CODE\n   nodes=browser.find_elements_by_xpath(\n        \'//tr[contains(@align,"center")]/following-sibling::tr[.//div[contains(@class,"toolimg")]]\')\n   p = multiprocessing.Pool()\n\n   p.map(ResPartido,nodes)   <---Here is the error\n   .......\n\n   >>AttributeError: Can\'t pickle local object \'_createenviron.<locals>.encodekey\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的 python 终端出现错误的图像

\n\n

\n\n

检查文档,它说列表是可选择的对象,并且在主函数之前声明的函数也是如此,所以我不\xc2\xb4t明白使用多处理时我做错了什么。

\n

python pickle multiprocessing

7
推荐指数
1
解决办法
8523
查看次数

如何在没有 QProcess 的情况下在 PyQt5 应用程序中嵌入终端?

我最近一直在努力在 PyQt GUI 应用程序中嵌入一个终端。几乎尝试了互联网上的所有搜索,但似乎没有任何帮助。

我有一个 QTabWidget,我只需要一个选项卡就有一个终端。

根本不可能这样做吗?

是不是有什么样QTabWidget.Tab2.show(terminal-app)和默认的终端被显示在TAB2和像每一个功能ls,ifconfig,cd等工作正常?

PS - 我已经尝试过这些,但没有成功。 在 PyQt5 中嵌入终端

(此处将代码从 PyQt4 转换为 PyQt5,但这不能满足我的需求)如何使用嵌入在 PyQt GUI 中的终端

TIA

python pyqt python-3.x qtabwidget pyqt5

7
推荐指数
1
解决办法
5487
查看次数

前后对比增量

我获得了前后增量的基础,但是在实际发生在后期增量上时却难以下定决心。

例如,在以下帖子增量代码中:

int counter = 10;
int result = 0;

result = counter++ + 10;

cout << "Counter: " << counter << endl;
cout << "Result: " << result << endl;
Run Code Online (Sandbox Code Playgroud)

我知道Counter的结果将为11,结果为20。由于整个函数都在运行,因此Result的结果将为20。然后,当程序返回0时,它正在加+1;?

+1何时确切添加?

谢谢

c++ c++14

7
推荐指数
1
解决办法
332
查看次数

如何避免 http.server 的控制台日志记录

我http.server在代码中运行来加载本地 html,但我不希望服务器每次发出请求时都登录控制台。

我查看了这篇文章: 如何静默/安静 HTTPServer 和 BasicHTTPRequestHandler's stderr 输出?

并尝试了一下,但它返回一个错误:missing 3 required positional arguments

class main()
    def openHttpServer(self):
        port = 8000
        Handler = http.server.SimpleHTTPRequestHandler
        self.httpd = socketserver.TCPServer(("", port), Handler)
        self.httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)

我希望它能以相同的方式工作,但无需SimpleHTTPRequestHandler登录控制台。

python python-3.x

7
推荐指数
1
解决办法
4888
查看次数

我们如何在 Qt Creator 中激活 virtualenv

有没有办法在 Qt Creator 中激活 Python 虚拟环境,即确保 Qt Creator 发出的准备/分析/构建当前项目的所有不同命令都在特定的 virtualenv 中运行?

当尝试在 Qt Creator 中使用 Shiboken 和 PySide 时会出现此问题。例如,可以使用 CMake 在 Pyside(跨 Windows、OSX 和 Linux)中成功编译并运行“scriptableapplication”示例。但是,在同一系统上工作时,无法使用 Qt Creator 和 qmake 来执行此操作,因为 virtualenv 未激活。在 Qt Creator 中打开 scriptableapplication.pro 项目时,会显示以下消息:

Unable to locate shiboken2-generator. Did you forget to activate your virtualenv?
Run Code Online (Sandbox Code Playgroud)

这确实是事实,Qt Creator 发出的 shell 命令没有激活 virtualenv。

python virtualenv qt-creator pyside2 shiboken2

7
推荐指数
2
解决办法
4255
查看次数