Найти - Пользователи
Полная версия: PyQt4 и горячие клавиши
Начало » GUI » PyQt4 и горячие клавиши
1
Guljaca
Читаю книгу о создании оконных приложений (Прохоренок Н.А). Автор расписал, как назначить комбинации клавиш с Alt+### и ни одного примера для кнопок. Хотелось бы узнать, как на них назначить одиночные клавиши на примере кода ниже (Тут уже на ‘Alt+З’ назначено - как заменить на ‘З’?).

class MyWindow(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.x = 0
        self.button = QtGui.QPushButton(u'&З' + ' ' + str(self.x))
        #self.button = QtGui.QKeySequence(QtCore.Qt.Key_E)
        self.button.setMaximumSize(100,100)
        self.vbox = QtGui.QVBoxLayout()
        self.vbox.addWidget(self.button)
        self.setLayout(self.vbox)
        self.connect(self.button, QtCore.SIGNAL('clicked()'), self.summ)
    def summ(self):
        self.x +=  1
        self.button.setText(u'&З' + ' ' + str(self.x))
        print window.x
reclosedev
http://qt-project.org/doc/qt-4.8/qabstractbutton.html#details
http://qt-project.org/doc/qt-4.8/qabstractbutton.html#shortcut-prop

self.button.setShortcut(QtGui.QKeySequence(QtCore.Qt.Key_E))

Только когда текст меняется, нужно опять setShortcut вызывать.
Guljaca
Ок, разобрался, спасибо! Сначала не понял последнее предложение. Надо было в метод эту строчку добавить.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB