首页| 论坛| 消息

标题:请教一个问题,关于button按钮的
作者:sdyansong
日期:2013-08-06 14:09
内容:

我以前创建按钮大部分都是用ui设计器创建,但是最近我需要用代码写一个按钮,我写完后,程序编译没有问题,可是button却不显示。请大神给指导一下。


下面附上代码


void MainWindow::button(QDialog *)
{Button = new QPushButton("change picture",this);
Button->setGeometry(QRect(QPoint(300, 300),QSize(200, 50)));
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(Button);
setLayout(layout);
}
上面这段代码是添加按钮的那快代码。


#1 回 楼主(sdyansong) 的帖子 [jdwx 08-06 14:29]
改一下:
void MainWindow::button(QDialog *)
{
Button = new QPushButton("change picture",this);
Button->setGeometry(QRect(QPoint(300, 300),QSize(200, 50))); 这行和下面的layout只能用一个,这行代表手动管理button大小 ,删除这行。
QVBoxLayout *layout = new QVBoxLayout; 这行有layout管理button大小
layout->addWidget(Button);
QWidget *w = new QWidget(this);
w->setLayout(layout);
setCentralWidget(w);
setLayout(layout);问题在这里,QMainWindow需要一个widget作为中央窗口部件,这个widget可以任意复杂,包含任意的控件。button需要放在widget里。QMainWindow不支持setLayout,所以看不见。这行删除。
}
#2 回 1楼(jdwx) 的帖子 [sdyansong 08-06 14:40]
先谢谢版主,我在尝试。非常感谢。
#3 回 1楼(jdwx) 的帖子 [sdyansong 08-06 14:47]
版主,还是不可以,想请您在帮忙给看一下,小弟我把代码上传了一份,您给看下
#4 回 3楼(sdyansong) 的帖子 [jdwx 08-06 15:01]
没啥大问题,中文注释以后要注意使用,在你的机器上可能没问题,这些代码到别人的机器上肯定会出问题,
MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent)
{
button(0);加上这一行,调用new出button的代码,button就能看见了。
setFixedSize(800,480);
#5 回 4楼(jdwx) 的帖子 [sdyansong 08-06 15:14]
谢谢版主,非常感谢,至于您说的中文注释问题我会注意的。非常感谢

<< 1 2 3 >> (1/3)

回复 发表
主题 版块