QT:QProgressBar 显示文字
Posted
技术标签:
【中文标题】QT:QProgressBar 显示文字【英文标题】:QT: QProgressBar display text 【发布时间】:2015-07-29 14:51:55 【问题描述】:我有一个处于选取框模式的 QProgressBar 实例(最大值 = 最小值 = 0)。
我现在想在进度条上添加一些文本,例如“正在加载...”
文档说:
请注意,是否绘制文本取决于样式。目前 CDE、CleanLooks、Motif 和 Plastique 绘制文本。 Mac、Windows 和 WindowsXP 风格没有。
我该怎么办?
这是我正在使用的代码(无法正常工作,因为根本看不到文本):
progressBar.setVisible(true);
progressBar.setMaximum(0);
progressBar.setMinimum(0);
progressBar.setTextVisible(true);
progressBar.setFormat("Loading...");
progressBar.setAlignment(Qt::AlignCenter);
【问题讨论】:
【参考方案1】:当您想在进度条上添加文本时,您需要将文本默认对齐在右侧。考虑到progressBar
你的instance
,下面的代码模板对你有用。
progressBar->setTextVisible(true);
progressBar->setFormat("Loading...");
progressBar->setAlignment(Qt::AlignCenter); // This will add text over Progress Bar
【讨论】:
请查看我对我正在使用的代码的编辑。到目前为止,文本不可见。 @StephenH.Anderson:基本上该属性是为了显示进度,但是当输入progressBar.setMaximum(0);
时,QT
将禁用它。如果您对此行发表评论,那么它将起作用
@StephenH.Anderson:如果要显示加载动画表单,请在qrc
中添加相应文件并自定义ProgressBar
@StephenH.Anderson:一种最简单的方法是使用QLable
,它将在进度条上显示文本,但您需要设置相应的几何图形【参考方案2】:
它对我来说很好用。左下角的小部件是一个进度条。我认为你不应该设置它(maximum = minimum = 0)
【讨论】:
【参考方案3】:首先您必须将其设置为可见:
progBar->setTextVisible(true);
然后用progBar->setFormat("Loading...");
写文字
关于样式类型,您必须查看您想要或需要哪一种并选择它。看看QStyleOptionProgressbar
【讨论】:
请查看我对我正在使用的代码的编辑。到目前为止,文本不可见。以上是关于QT:QProgressBar 显示文字的主要内容,如果未能解决你的问题,请参考以下文章
Qt入门系列开发教程基础控件篇QProgressBar进度条