Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt复选框插槽的问题_Qt - Fatal编程技术网

Qt复选框插槽的问题

Qt复选框插槽的问题,qt,Qt,我正在尝试设计一个对话框,在其中单击相应的复选框(下划线、粗体、斜体),然后文本编辑中的单词将自动更改为下划线、粗体或斜体 我插入了三个插槽,链接到三个复选框。但是,只有下划线复选框有效!其他两个复选框根本不起作用!当我检查它们时,什么也没有发生 下面是我写的代码。有什么错误吗?为什么会发生这样的事情 请帮帮我。 谢谢大家! void Dialog::on_checkBoxUnder_clicked(bool checked) { QFont font = ui->textEdit

我正在尝试设计一个对话框,在其中单击相应的复选框(下划线、粗体、斜体),然后文本编辑中的单词将自动更改为下划线、粗体或斜体

我插入了三个插槽,链接到三个复选框。但是,只有下划线复选框有效!其他两个复选框根本不起作用!当我检查它们时,什么也没有发生

下面是我写的代码。有什么错误吗?为什么会发生这样的事情

请帮帮我。 谢谢大家!

void Dialog::on_checkBoxUnder_clicked(bool checked)
{
    QFont font = ui->textEdit->font();
    font.setUnderline(checked);
    ui->textEdit->setFont(font);

}

void Dialog::on_checkBoxItalic_clicked(bool checked)
{
    QFont font = ui->textEdit->font();
    font.setItalic(checked);
    ui->textEdit->setFont(font);
}

void Dialog::on_checkBoxBold_clicked(bool checked)
{
    QFont font = ui-> textEdit->font();
    font.setBold(checked);
    ui->textEdit->setFont(font);
}

请尝试更改状态。此示例适用于:

void MainWindow::on_cbItalic_stateChanged(int arg1)
{
    QFont font = ui->textEdit->font();
    font.setItalic(arg1);
    ui->textEdit->setFont(font);
}

void MainWindow::on_cbBold_stateChanged(int arg1)
{
    QFont font = ui->textEdit->font();
    font.setBold(arg1);
    ui->textEdit->setFont(font);
}

另一方面,如果您需要帮助,请检查是否调用了其他插槽?是否将插槽链接到信号?谢谢您的回复!如何将插槽链接到信号?在信号和插槽编辑器中还是?但问题是,第一个插槽工作正常,但其他两个插槽不运行>请确保您的复选框在、
checkBoxItalic
checkBoxBold
下正确命名。如果使用UI设计器完成了UI的调用,则应在生成的代码中调用
QMetaObject::connectSlotsByName
,通过对象名称自动连接小部件的信号。