Qt将动态按钮附加到窗口

时间:2013-02-18 18:11:41

标签: c++ qt

所以基本上我想要做到以下几点:当按下按钮时,在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);
}

它可以工作,但窗口出现在我桌面上的260,140上。我希望它在主窗口中是260,140,无论它在哪里。提前谢谢。

1 个答案:

答案 0 :(得分:1)

你应该向父母QPushButton提供谎言。使用以下QPushButtons构造函数:

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);
}