Python 3.1 と PyQt を使用して、QProgressBar を取得して、ウィジェット上でバーをスライドさせることでタスクが機能していることを表示しようとしています。最小値と最大値を 0 に設定することで実行できることがわかりました。
正しく動作するようになりましたが、プログラムに統合すると、ウィジェットの最初の 25% にのみバーが表示され、最初にリセットされます。私は何時間も遊んで、ドキュメントストリングに絞り込んだと思います。一番下にコード。
コードを初めて実行すると、プログレス バーが正しく機能します。ただし、その後はいつでも機能しません。.pyc ファイルを削除すると、初回のみ再び機能します。
def testfunction の docstring の 2 行目にある最後の文字 "j" を削除するか、docstring 全体を削除すると、常に機能します。毎回。
私が見逃している愚かなことはありますか?コードを適切に実行できるようにするためだけに、docstring を変更する必要はありません。
main.py
import sys
from PyQt4 import QtGui
from mainUI import Ui_Form
import comment
class mainForm(QtGui.QDialog):
def __init__( self, parent=None ):
QtGui.QWidget.__init__( self, parent )
self.ui = Ui_Form()
self.ui.setupUi( self )
if __name__ == "__main__":
app = QtGui.QApplication( sys.argv )
myapp = mainForm()
myapp.show()
sys.exit( app.exec_() )
mainUI.py
class comment():
def testfunction( self ):
"""
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghij
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijabcdefghij
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopq
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcde
abcdefghijklmnopqrstuvwxyzabcdefghij
"""
pass
from PyQt4 import QtCore, QtGui
_fromUtf8 = lambda s: s
class Ui_Form(object):
def setupUi(self, Form):
Form.resize(206, 100)
self.pgbTotalProgress = QtGui.QProgressBar(Form)
self.pgbTotalProgress.setGeometry(QtCore.QRect(20, 30, 191, 23))
self.pgbTotalProgress.setMaximum(0)
self.pgbTotalProgress.setProperty(_fromUtf8("value"), 0)
self.pgbTotalProgress.setObjectName(_fromUtf8("pgbTotalProgress"))