2013-02-18 87 views
0

所以基本上我想做以下事情:當一個按鈕被按下時,在大小爲Y的點X處創建一個按鈕,該按鈕具有從textEdit中提取的文本。這是我所做的功能:Qt附加一個動態按鈕到窗口

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

你應該給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); 
}