Q
更改文本
6
A
回答
18
使QProgressBar文本可見。
QProgressBar *progBar = new QProgressBar();
progBar->setTextVisible(true);
顯示下載進度
void Widget::setProgress(int downloadedSize, int totalSize)
{
double downloaded_Size = (double)downloadedSize;
double total_Size = (double)totalSize;
double progress = (downloaded_Size/total_Size) * 100;
progBar->setValue(progress);
// ******************************************************************
progBar->setFormat("Your text here. "+QString::number(progress)+"%");
}
5
你可以計算自己的下載速度,然後創建一個字符串這樣的:
QString text = QString("%p% (%1 KB/s)").arg(speedInKbps);
progressBar->setFormat(text);
你需要每次都做你的然而,下載速度需要更新。
2
由於QProgressBar for Macintosh StyleSheet不支持format屬性,因此需要跨平臺支持才能製作,您可以使用QLabel添加第二個圖層。
// init progress text label
if (progressBar->isTextVisible())
{
progressBar->setTextVisible(false); // prevent dublicate
QHBoxLayout *layout = new QHBoxLayout(progressBar);
QLabel *overlay = new QLabel();
overlay->setAlignment(Qt::AlignCenter);
overlay->setText("");
layout->addWidget(overlay);
layout->setContentsMargins(0,0,0,0);
connect(progressBar, SIGNAL(valueChanged(int)), this, SLOT(progressLabelUpdate()));
}
void MainWindow::progressLabelUpdate()
{
if (QProgressBar* progressBar = qobject_cast<QProgressBar*>(sender()))
{
QString text = progressBar->format();
int precent = 0;
if (progressBar->maximum()>0)
precent = 100 * progressBar->value()/progressBar->maximum();
text.replace("%p", QString::number(precent));
text.replace("%v", QString::number(progressBar->value()));
QLabel *label = progressBar->findChild<QLabel *>();
if (label)
label->setText(text);
}
}
相關問題
- 1. 更改文本
- 2. 更改文本
- 3. 更改文本
- 4. 更改文本
- 5. 更改文本
- 6. 更改文本
- 7. 更改文本
- 8. 更改文本
- 9. 其他文本框文本更改時更改文本框的文本
- 10. 更改TextView文本
- 11. 更改文本appearence
- 12. innerHTML更改文本
- 13. 更改UISegmentedControl文本
- 14. 更改文本行
- 15. 文本框更改
- 16. menuBar.addAction更改文本
- 17. 更改文本DKPro
- 18. JQuery更改文本
- 19. 更改文本框
- 20. simple_format更改文本本身
- 21. 文本更改後更改樣式
- 22. 更改文本更改EditText的寬度
- 23. 更改文本文件
- 24. 如何更改EditText文本更改的TextView文本?
- 25. 將文本更改爲文本框後更新純文本
- 26. 更改此文本框的文本更改時文本框的背景顏色?
- 27. C#.NET更改文本框的文本
- 28. 文本框中的文本更改
- 29. 文本框中的文本更改
- 30. 文本框文本更改事件
我想我解釋自己錯了(如果是這樣,對不起。)我想添加更多的文字到酒吧。因爲它只顯示百分比。 – Kazuma 2011-12-15 04:27:29
編輯......... – 2011-12-15 05:52:00