如何给已经设计好的按键点击按键,相当于启用键盘上的esc键
class InterfaceWindow(QMainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow_inter()
self.ui.setupUi(self)
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
self.ui.pushButton_off.clicked.connect(lambda: self.ui.stackedWidget.setCurrentIndex(0))
按键名称为pushButton_off
不知道你这个问题是否已经解决, 如果还没有解决的话:可以使用Qt框架中的QKeyEvent类来模拟键盘上的esc键点击操作。
具体步骤:
QPushButton *btn = ui->pushButton_off; // 获取到按键对象
QKeyEvent *keyEvent = new QKeyEvent(QEvent::KeyPress, Qt::Key_Escape, Qt::NoModifier);
qApp->sendEvent(this, keyEvent); // this表示当前窗口对象,可以换成其他QWidget对象
完整代码示例:
void MainWindow::on_pushButton_off_clicked()
{
QPushButton *btn = ui->pushButton_off; // 获取到按键对象
QKeyEvent *keyEvent = new QKeyEvent(QEvent::KeyPress, Qt::Key_Escape, Qt::NoModifier); // 创建QKeyEvent对象
qApp->sendEvent(this, keyEvent); // 发送按键事件
}
注:以上代码使用的是Qt框架中的信号槽机制,on_pushButton_off_clicked
为槽函数名,需要在ui文件中将pushButton_off对象的clicked信号与该函数连接起来。