问题标签 [qstatusbar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
177 浏览

python - 当 QSortFilterProxyModel 更改 PYQT5 时更新 QStatusBar 中的 QWidget

我有一个显示 QSortFilterProxyModel 的 QTableView,我想为可以汇总的列提供一个汇总行(在 QStatusBar 中)。我设法做到了这一点,但是,我还想在代理模型更改时更新这些列的总和。我被困在这一点上,无法继续前进。

这是我的代码:

任何建议如何做到这一点?

0 投票
2 回答
1893 浏览

python-3.x - QStatusBar.showMessage() 没有持续更新

我很抱歉:

这似乎是重复的: PyQt - 在 GUI 内运行循环

有一个很好的解决方案和教程链接。

我的设置:

操作系统:Windows 10 版本 1903

蟒蛇:3.7.4

PyQt5:5.13.0

我的问题:

PyQt5 不会持续更新状态栏。我在更大的应用程序中看到了这个问题。我编写了这个调试应用程序来尝试更清楚地识别问题,并且它已经重现:

预期:单击“调试”按钮并"Checkpoint ###"定期在状态栏中看到打印 2 秒,最后状态栏显示“已完成调试()”。

实际:单击“调试”按钮,查看 cmd 中的打印语句wait(),但"Checkpoint ###"直到"Completed debug()".

  • 我尝试过使用内置的持续时间参数 statusBar.showMessage() 天真。
  • 我尝试过使用 time.sleep(2)。
  • 我尝试创建自己的等待方法,它不应该像 sleep 那样暂停进程(以防碍事)。

我正处于下一步似乎是尝试利用“statusBar.messageChanged”信号的地步,但这对于应该内置的东西来说感觉太多了。我想我错过了一些明显的东西,但是看不到它。

0 投票
1 回答
297 浏览

python - 如何从小部件类访问 QMainWindows 中的 QstatusBar?

我正在尝试从另一个类更改在 mainwindows 类中创建的 Qstatusbar 的文本

我已经为网络尝试了几件事,但没有找到答案......

我希望能够从 Widget 类修改 MainWindow 类中创建的状态栏文本

0 投票
1 回答
166 浏览

python-3.x - 错误“对象没有属性”应用于状态栏不显示状态

我在加载图像时尝试加载和删除图像我创建一个状态栏来告诉我文件的名称,如果我删除它,该栏被清理,我收到此错误,我不知道它可能是什么,幸运的是,他们加载了我的图像,但在控制台中,它向我抛出了那个错误并且它没有显示状态栏(我留下了部分代码),谢谢......

错误

回溯(最后一次调用):文件“lol.py”,第 220 行,在 self.animacionMostar.finished.connect(lambda: (self.statusBar.showMessage(nombre))) AttributeError: 'VentanaVISUALIZAR' 对象没有属性'状态栏'

代码:

0 投票
1 回答
278 浏览

qt - QStatusBar 移除填充

我想在整个 QStatusBar 上添加一个彩色小部件。我添加了一个红色背景颜色的 QLabel,但标签周围有一个填充,我无法删除。

我尝试了什么:

  • setSizeGripEnabled(假)
  • setStyleSheet("QStatusBar {border: 0px; padding: 0px; margin: 0px; }" "QStatusBar::item {border: 0px; padding: 0px; margin: 0px; }"
  • 布局()->setContentsMargins(0, 0, 0, 0);

不同颜色的示例以区分区域

更新:示例代码:

0 投票
2 回答
191 浏览

c++ - 如何在 QT 中添加状态栏(不使用表单)并显示文本的长度和他的坐标(正在刷新)?

我想将状态栏添加到我的程序中,但我在网上找不到任何示例。

我看到很少有人使用一些我不使用的表格。我希望我的状态栏能够显示文本长度和他的坐标。而且我想在每次更改后刷新它(更改文本及其位置)。

我的代码目前可以更改显示文本,使用鼠标或键盘更改其位置并将该数据保存到文件中或打开该文件并加载数据。

我的代码:

0 投票
1 回答
56 浏览

c++ - statusbar->messageChanged() QT 的 SLOT

我对 QT 状态栏有疑问。我想从状态栏接收并处理 changeMes​​sage,我的插槽有问题。我应该如何编写正确的插槽或如何正确使用连接功能,我也有问题。

文件.cpp

在底部

文件.h

我收到了消息

0 投票
0 回答
27 浏览

python-3.x - 第二个 QSizeGrip 到 QStatus 栏

我试过这个为我的应用程序添加手柄(左和右)。它在终端启动时工作。但是在 pyinstaller 之后它没有显示握把。我不知道为什么.. 不幸的是,我不得不使用 QStatusBar(仅右下角)添加抓地力。你有第二个左下角握把的解决方案吗?

0 投票
1 回答
28 浏览

python-3.x - PyQt5 - 从字符串列表中重复更新状态栏而不阻塞 gui

我可以QStatusBar通过输入单个字符串来显示消息,例如:

在我的事件循环中,上述消息将在状态栏上显示 1000 毫秒。但是说"My message here",我有一个字符串列表,而不是一个字符串,我想当时显示一个。我可以通过给它一个延迟来通过一个循环来做到这一点time.sleep(1)- 但不幸的是,这会阻塞 gui,直到循环结束,我不希望那样。我可以将主事件循环和状态栏更新的过程分开吗?如果可以,如何?

下面的示例代码有一个按钮,当按下该按钮时,会生成三个不同的消息,存储在一个列表中。然后它们会显示在状态栏中,一次一个,并且在循环结束之前无法按下按钮。我想要的行为是该按钮是可点击的(gui 未被阻止),如果在显示以前的消息时单击它,则显示被中断并显示新消息。

---下面的示例代码---


上面的代码创建了一个消息列表

0 投票
0 回答
28 浏览

qt - 从 QStatusBar 中删除和添加小部件

我有一个带有状态栏的应用程序,我想在其中添加/删除一个永久小部件(因为我需要它在右侧)。我的想法很简单:我最初隐藏了一个 QLabel 小部件,只有当用户选中复选框时它才会可见。

用户第一次选中该框时,小部件已完美创建,然后将其隐藏起来很简单QStatusBar::removeWidget(QWidget *widget),但是,我无法将小部件添加回状态栏,因为我不知道如何实现 show()功能。我阅读了文档,但我不清楚:

void QStatusBar::removeWidget(QWidget *widget) 从状态栏中移除指定的小部件。

注意:此功能不会删除小部件,而是将其隐藏。要再次添加小部件,您必须同时调用 addWidget() 和 show() 函数。

这是我的代码的一小部分摘录:

我确定我的 if 语句中缺少一些基本行,即应该再次显示小部件的时间,但我不确定在其中添加什么。