小编eyl*_*esc的帖子

有没有办法在 .ui 文件中描述函数的同时在 python 代码中使用 retreanslateUi ?

我正在使用 Qt Designer 和 PyQt5 创建多语言桌面应用程序。我正在遵循此答案以使我的应用程序动态更改语言。

我通过 Qt Designer 创建了一个 .ui 文件,并通过loadUi直接在 python 代码中加载 UI 。因此,函数retranslateUi在我的 ui.file 中进行了描述,与上面链接中的retranslateUi函数(它存在于 python 代码中)不同。我不想将所描述的函数放在 python 代码中,因为有很多按钮和标签。如何在我的代码中使用此函数并将其仅保留在 .ui 文件中?

qt-designer pyqt5 qt-linguist

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

背景中的多种颜色(过渡)

有没有办法在 PyQt 中将过渡颜色作为背景?我尝试使用CSS的线性渐变,但不起作用

stylesheet = ("QWidget { background-color : linear-gradient(to right, red 50%, blue 50%);}")
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它为我工作?

python pyqt python-3.x qtstylesheets

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

pyqt5_tools Designer.exe不存在

我已经通过命令安装了PyQT5 pip install pyqt5 pyqt5-tools。然后我想显示 Designer.exe 的路径。但是我在C:\Users\User\AppData\Local\Programs\Python\Python38\Lib\site-packages\pyqt5_tools目录中找不到它。这些是该文件夹的内容。

在此输入图像描述

python pip

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

PyQt5中有没有办法让鼠标事件完全忽略窗口?

我尝试过使用setAttribute(Qt.Qt.WA_TransparentForMouseEvents),但鼠标也无法穿透Qtwindow。

我想让鼠标事件穿透Qtwindow,就像我在位于Windows10桌面的Qtwindow上单击鼠标右键,然后它将触发win10上下文菜单。

python pyqt pyqt5

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

如何在 Flutter 中启动时调用函数

我在我的应用程序中创建了新页面,但我想在没有设置状态的情况下调用函数

\n

这是我的功能:

\n
yaziGetir(Mahalle mahalle) {\n    FirebaseFirestore.instance\n        .collection("Mahalleler")\n        .doc(mahalle.neighborhood)\n        .get()\n        .then((gelenVeri) {\n      setState(() {\n        gelenYaziBasligi = gelenVeri.data()['E\xc4\x9fitim'];\n        gelenYaziIcerigi = gelenVeri.data()['Geri D\xc3\xb6n\xc3\xbc\xc5\x9f\xc3\xbcm'];\n      });\n    });\n  }\n
Run Code Online (Sandbox Code Playgroud)\n

flutter

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

Qt Webengine不加载openstreetmap图块

我写了一个这样的python测试程序来显示openstreetmap:

from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEngineView
import sys

def mainPyQt5():
    url = 'file:///./index.html'
    app = QApplication(sys.argv)
    browser = QWebEngineView()
    browser.load(QUrl(url))
    browser.show()
    sys.exit(app.exec_()) 
mainPyQt5()
Run Code Online (Sandbox Code Playgroud)

QWebEngineView 获取的 index.html 只需调用 openstreetmap:

<title>OSM and Leaflet</title>
<link rel = "stylesheet" href = "http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css"/>
<div id = "map" style = "width: 900px; height: 580px"></div><script src =  "http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<script>
         // Creating map options
         var mapOptions = {
            center: [45.641174, 9.114828],
            zoom: 10
         }
         
         // Creating a map object
         var map …
Run Code Online (Sandbox Code Playgroud)

python openstreetmap pyqt5 qtwebengine

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

QTextEdit默认值

我正在使用 pyqt5,我想知道如何为文本编辑小部件设置默认文本?例如,它显示“在此处输入您的名字”,当我输入某些内容时,文本就会消失。就像登录页面一样。我对每一个答案都很满意!

它应该看起来像这样:

这里

免责声明:我已经在互联网上搜索过,但一无所获

python pyqt qtextedit pyqt5

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

如何将 asyncio 任务添加到 pyqt5 事件循环中,以便它运行并避免从未等待的错误?

我是 asyncio 的新手,我想利用它来为我的 pyqt 应用程序处理通过 tcp 连接的通信。

我制作了这个简单的演示来学习如何在 asyncio 上下文中处理 QT 循环。我看过与此相关的其他帖子,但它们比我目前想做的要复杂得多。因此,我在一个单独的窗口中启动服务器客户端,以便它进行监听,并尝试通过小部件上的简单按钮单击事件发送消息。正如它所得到的准系统......我的问题是它不起作用。

我希望能够进行一次信息交换以及端口对流保持开放的情况。我认为这些任务在 asyncio 中会很简单,但在这一点上让它与 qt 很好地配合似乎很困难。

现在我得到了

RuntimeWarning: coroutine 'PushButton.sendmessage' was never awaited
  rslt = self.__app.exec_()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Run Code Online (Sandbox Code Playgroud)

我不知道从哪里开始解决这个问题。

测试.py

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt, pyqtSlot
import sys
import asyncio
from asyncqt import QEventLoop
from async_client import tcp_echo_client


class PushButton(QWidget):

    loop = None

    def __init__(self,app_loop):
        super(PushButton,self).__init__()
        self.initUI()
        self.loop = loop

    def initUI(self):
        self.setWindowTitle("PushButton") …
Run Code Online (Sandbox Code Playgroud)

python tcp coroutine pyqt5 python-asyncio

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

如何减少 PyQt5 QGridLayout 中两个小部件之间的空间?

如何根据需要在 QGridLayout 中排列小部件?例如,在我的代码中,

  1. 我需要减少“国家”和“国家”按钮之间的空间

  2. 将小部件放在最左上角(左上角最左上角的国家按钮 - 无边距)

  3. 减少“国家”和“地区”按钮之间的空间

  4. 将“银行”按钮放在“城镇”按钮的中心

  5. 根据附加图像需要/安排布局

在此处输入图片说明

import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class GridLayout_Example(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Grid layout Example")
        self.setGeometry(100,100,1600,600)
        self.initUI()
        self.layout()
        self.show()

    def initUI(self):
        self.btn_country_63 = QPushButton()
        self.btn_country_63.setText("Country")
        self.btn_country_63.setObjectName("ob_btn_country_63")
        self.btn_country_63.setProperty('group', "1")
        self.btn_country_63.setFixedSize(100, 25)
        self.btn_country_63.setStyleSheet("background-color:red;color:white")
        self.btn_country_63.installEventFilter(self)
        # self.btn_country_63.clicked.connect(self.btn_country_63_select)

        self.btn_state_63 = QPushButton()
        self.btn_state_63.setText("State")
        self.btn_state_63.setObjectName("ob_btn_state_63")
        self.btn_state_63.setProperty('group', "1")
        self.btn_state_63.setFixedSize(100, 25)
        self.btn_state_63.setStyleSheet("background-color:red;color:white")
        self.btn_state_63.installEventFilter(self)
        # self.btn_state_63.clicked.connect(self.btn_state_63_select)

        self.btn_district_63 = QPushButton()
        self.btn_district_63.setText("District")
        self.btn_district_63.setObjectName("ob_btn_district_63")
        self.btn_district_63.setProperty('group', "1")
        self.btn_district_63.setFixedSize(100, 25)
        self.btn_district_63.setStyleSheet("background-color:red;color:white")
        self.btn_district_63.installEventFilter(self)
        # self.btn_district_63.clicked.connect(self.btn_district_63_select)

        self.btn_town_63 = QPushButton() …
Run Code Online (Sandbox Code Playgroud)

python pyqt qgridlayout pyqt5

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

尝试使用 Qt 打开文件对话框

我正在尝试使用 Qt 编写一个简单的 C++ 代码来获取文件夹的路径。

我从这个答案中得到了代码,并对其进行了一些调整以适应我想要的。我的问题是它标记了我的“this”声明,表示我的类与“QWidget *”参数类型不兼容。

#include <iostream>
#include <qt5/QtWidgets/qfiledialog.h>

using namespace std;

class TCC {
public:
    string openFile();
};

string TCC::openFile()
{
    QFileDialog::getOpenFileName(this, tr("Open Document"), QDir::currentPath(), tr("Document files (*.doc *.rtf);;All files (*.*)"), 0, QFileDialog::DontUseNativeDialog);

    QString filename = QFileDialog::getOpenFileName(
        this,
        tr("Open Document"),
        QDir::currentPath(),
        tr("Document files (*.doc *.rtf);;All files (*.*)"));
    if (!filename.isNull())
    {
        qDebug(filename.toUtf8());
    }
    return filename.toUtf8().constData();
}

int main()
{
    TCC tcc;
    cout << tcc.openFile();
}
Run Code Online (Sandbox Code Playgroud)

c++ qt visual-c++

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