Код создает один диалог с QLineEdit
и QPushButton
. Когда кнопка нажата, я хочу, чтобы QLineEdit
превратился в индикатор выполнения, который покажет ход процесса, вызванного нажатием кнопки. Когда процесс завершен, QLineEdit
должен вернуться к своему нормальному виду «LineEdit». Как достичь этого?Как превратить фон QLineEdit в панель прогресса
Вот идея Photoshop-е изд:
бар прогресс может быть тонкая линия в нижней части QLineEdit:
from PyQt4 import QtCore, QtGui
import time
class Dialog(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QDialog .__init__(self, parent)
mainLayout = QtGui.QVBoxLayout()
lineEdit = QtGui.QLineEdit('ITEM 001')
mainLayout.addWidget(lineEdit)
button = QtGui.QPushButton('Push Button')
button.clicked.connect(self.buttonClicked)
mainLayout.addWidget(button)
self.setLayout(mainLayout)
def buttonClicked(self):
print 'button clicked'
for i in range(3):
time.sleep(1)
print '...processing %s'%i
if __name__ == '__main__':
app = QtGui.QApplication([])
window = Dialog()
window.resize(300, 50)
window.show()
app.exec_()
Я думаю, что я хотел бы использовать метод setPalette из QLineEdit. Аналогично тому, как вы устанавливаете фон QLineEdit. Попробуйте найти, как установить фоны, используя, например, изображение. –
Несомненно, это хорошая идея! Благодаря! – alphanumeric