В Qt есть возможность, вместо нажатия с помощью мышки кнопок на экране, выполнять нажатие кнопок клавиатуры. Это может понадобиться для отправки данных или получения результата операции.
Например, в графическом редакторе в файле mainwindow.ui созданы два элемента QPushButton и Qlabel, со значениями objectName соответственно pushButton и label. Требуется, вместо нажатия кнопки pushButton нажимать клавишу Enter на клавиатуре.
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void symbolSlot(); // это созданный нами слот для обращения к кнопке
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(symbolSlot())); //для работы с кнопкой
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(symbolSlot())); //для работы с кнопкой
ui->pushButton->setShortcut(Qt::Key_Return);//при нажатии клавиши клавиатуры Enter будет срабатывать кнопка с objectName pushButton
}
void MainWindow::symbolSlot()
{
QString aaa;//создается строковая переменная aaa
// aaa="text";//в переменную aaa помещается текст text, лучше использовать двойные кавычки
//aaa=ui->pushButton->text();//в переменную aaa помещается текст, написанный на самой кнопке
aaa=ui->pushButton->objectName();//в переменную aaa помещается objectName
ui->pushButton->setText(aaa);//в надпись на кнопке вставляется текст text
ui->label->setText(aaa);//в содержание элемента вставляется текст text
}
ui->pushButton->setShortcut(Qt::Key_Return);
ui->pushButton->setShortcut(0x01000004);
В Qt есть возможность, вместо нажатия с помощью мышки кнопок на экране, выполнять нажатие кнопок клавиатуры. Это может понадобиться для отправки данных или получения результата операции.
Например, в графическом редакторе в файле mainwindow.ui созданы два элемента QPushButton и Qlabel, со значениями objectName соответственно pushButton и label. Требуется, вместо нажатия кнопки pushButton нажимать клавишу Enter на клавиатуре.
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
void symbolSlot(); // это созданный нами слот для обращения к кнопке
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(symbolSlot())); //для работы с кнопкой
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(symbolSlot())); //для работы с кнопкой
ui->pushButton->setShortcut(Qt::Key_Return);//при нажатии клавиши клавиатуры Enter будет срабатывать кнопка с objectName pushButton
}
void MainWindow::symbolSlot()
{
QString aaa;//создается строковая переменная aaa
// aaa="text";//в переменную aaa помещается текст text, лучше использовать двойные кавычки
//aaa=ui->pushButton->text();//в переменную aaa помещается текст, написанный на самой кнопке
aaa=ui->pushButton->objectName();//в переменную aaa помещается objectName
ui->pushButton->setText(aaa);//в надпись на кнопке вставляется текст text
ui->label->setText(aaa);//в содержание элемента вставляется текст text
}
ui->pushButton->setShortcut(Qt::Key_Return);
ui->pushButton->setShortcut(0x01000004);