2010-02-18 110 views
1

我在QT中給動畫進度條添加動畫時遇到問題。問題與QT中的進度條

哪裏是在下面的代碼錯誤,我得到持續的進度條,但它不是動畫

QApplication a(argc, argv); 

QProgressDialog *dialog = new QProgressDialog(); 


QProgressBar *pbar = new QProgressBar(dialog); 

pbar->setMinimum(0); 
pbar->setMaximum(0); 
pbar->setTextVisible(false); 

QDesktopWidget *desktop = QApplication::desktop(); 
QRect rect = desktop->geometry(); 

pbar->setGeometry(rect.left(),rect.top(),rect.right(),rect.bottom()-300); 

pbar->show(); 


dialog->setBar(pbar); 

dialog->showMaximized(); 
dialog->exec(); 
return a.exec(); 

回答

7

我試圖在WinXP該代碼使用Qt 4.5.3,它按預期工作。 我不能給你一個解決方案,但我有一個建議: 你並不需要一個QProgressBar設置爲QProgressDialog,它已經擁有了自己。

刪除QProgressBar的代碼,下面的代碼與我的機器上的原始代碼做同樣的事情。

QApplication a(argc, argv); 

QProgressDialog *dialog = new QProgressDialog(); 

dialog->setMinimum(0); 
dialog->setMaximum(0); 

dialog->showMaximized(); 
dialog->exec(); 
return a.exec(); 
+0

嘿,我得到了烏拉圭回合的建議 it..Thanks的事情是...我們的代碼也表現得就像上面礦代碼.. 在我模擬器即時通訊進度條,與之字形樣式..即藍色..但它的靜態..我的意思是它不動.. 模擬器的行爲就像只有或什麼? – Naruto 2010-02-18 13:39:42

+0

嗯,我從來沒有與Symbian的工作,但似乎像somethig模擬器可以做的。你可以嘗試在實際的symbian機器上部署它來嘗試嗎? – erelender 2010-02-18 13:48:50

+0

亞..虐待嘗試在移動和告訴你:) 謝謝 – Naruto 2010-02-18 14:00:00

-2

小夥子們,你認爲進度條究竟幹什麼?它應該向用戶顯示活動正在進行以及當前的進度狀態。

您的代碼

QProgressDialog *dialog = new QProgressDialog(); 

dialog->setMinimum(0); 

dialog->setMaximum(0); 

將表明,在一定的操作將開始與狀態0和當狀態(或電流值)達到值... 0將結束,你想一些動畫與去?

看到http://doc.trolltech.com/4.6/qprogressdialog.html#details

一個例子基本上你應該創建一個進步與最小和最大值對話框

QProgressDialog *dialog = new QProgressDialog(); 

dialog->setMinimum(0); 

dialog->setMaximum(100); 

然後有實際的進展值更新(例如在觸發一個計時器執行槽),以便將它在進度條表示:

void Operation::perform() 
{ 
    dialog->setValue(steps); 
    //... perform one percent of the operation 
    steps++; 
    if (steps > dialog->maximum()) 
     t->stop(); 
} 

一系列更新的,具有逐漸增加的PROGRES s值,會創建你想要的動畫效果。

顯然與Symbian標註這是純粹的錯誤,這是不是在所有的Symbian具體。 Qt 4.x也不是特定的,地獄......它甚至不是Qt特有的,它基本上是一個邏輯問題。 ;)

+0

其實這些天進度條也可以用來表明應用程序仍然在做某些事情,但進度無法估計。這是動畫並稱爲字幕模式(或騎士模式)。將最小值和最大值設置爲0在Qt中執行此操作。 – Thirler 2010-02-18 20:50:11

+0

有趣。謝謝你的提示。我在Windows上看到類似的東西,但它沒有記錄的行爲。 – Lucian 2010-02-18 21:02:17

1

如果您使用的是Windows Vista主題(QWindowsVistaStyle),那麼存在一個錯誤,意味着不確定的進度條不會生成動畫。我在這裏寫了這個bug,完成簡單的補丁:http://bugreports.qt-project.org/browse/QTBUG-10984

+0

我發現問題的解決方案。 我可以知道你使用的是哪個版本的Qt嗎?Qt說問題在Qt 4.6.2中得到解決 – Naruto 2010-05-27 04:42:42

+0

這對我在4.7技術預覽中出錯了。也許這與你所看到的不同。 – jlarcombe 2010-05-27 10:23:27