Qt将动态按钮附加到窗口

Qt Attach a dynamic button to a window

本文关键字:窗口 按钮 动态 Qt      更新时间:2023-10-16

所以基本上我想做以下事情:当按下按钮时,在X点创建一个大小为Y的按钮,其中包含从textEdit中提取的文本。这是我做的功能:

void MainWindow::on_pushButton_released()
{
    QString a = ui->textEdit->toPlainText();
    QPushButton* ptr = new QPushButton(a);
    addWidget(ptr); // I figured I should use this function, thing is I don't know what should call it
    ptr->show();
    ptr->setGeometry(260, 140, 40, 40);
}

它是有效的,但是窗口出现在我桌面上的260140上。我希望它在主窗口是260140,无论它在哪里。提前谢谢。

您应该将父级交给QPushButton,此时它将是谎言。使用以下QPushButton的构造函数:

QPushButton ( const QString & text, QWidget * parent = 0 );

代码将如下所示:

void MainWindow::on_pushButton_released()
{
    QString a = ui->textEdit->toPlainText();
    QPushButton* ptr = new QPushButton( a, this /* <------------ */ );
    ptr->show();
    ptr->setGeometry(260, 140, 40, 40);
}