【问题标题】:QT: QProgressBar display textQT:QProgressBar 显示文字
【发布时间】: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);

【问题讨论】:

    标签: qt


    【解决方案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

      【讨论】:

      • 请查看我对我正在使用的代码的编辑。到目前为止,文本不可见。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      相关资源
      最近更新 更多