0

所以基本上我想做以下事情:当按下按钮时,在点 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,无论它在哪里。提前致谢。

4

1 回答 1

1

你应该给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);
}
于 2013-02-18T18:50:08.223 回答