我正在玩Qt,主要是为了重写Symbian的旧java应用程序,我让自己有点困惑 .
我首先要解释的是,C不是我的功夫,这可能是问题的原因 .
我想要做的是在主窗口中的一个垂直布局中添加一个简单的QPushButton,它在运行时在qt设计器中构建 .
我的示例代码是这样的......
QPushButton button = new QPushButton();
QString text("Testing Buttons");
button.setText(text);
//How do we add children to this widget??
ui->myLayout->addWidget(button);
我得到的错误如下......
/home/graham/myFirstApp/mainwindow.cpp:22:错误:从'QPushButton *'转换为非标量类型'QPushButton'请求/home/graham/myFirstApp/mainwindow.cpp:27:错误:没有匹配函数调用'QVBoxLayout :: addWidget(QPushButton&)'/ home / graham / myFirstApp /../qtsdk-2010.05 /qt /include / QtGui / qboxlayout.h:85:候选人是:void QBoxLayout :: addWidget(QWidget *,int ,Qt :: Alignment)
现在我知道第一个错误与指针有关,但我不知道是什么,如果有人能够解决我的困惑并提供非常好的示例代码 .
问候
格雷厄姆 .
2 回答
这只是一个C问题,当你使用new-operator时,需要使用星号将按钮声明为指针 .
QPushButton button = new QPushButton();
指向QPushButton的指针不是QPushButton . 这就是你的编译器喋喋不休,这就是你的问题 .