qt 手动设置控件的位置

QT中的Layout用着很不错,但有时候你想指定控件绝对位置.用以下红色代码就可以了.


chanel1 = new QPushButton(tr("通道1:"));

chanel1->setGeometry(rect().x()+200, rect().y()+10,
                            100, 30);
 chanel1->setParent(this);

//该行代码是设置控件的属性,如透明,边角是否是圆的,左右边距

    chanel1->setStyleSheet("background-color: rgba(0,0,0,0);border: 1px groove gray;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;padding-left:0px;padding-right:0px;");


转载:http://blog.csdn.net/xyyangkun/article/details/7345423





You must call QWidget::show to show the label since you add it after the parent widget has already been shown.

QLabel* l = new QLabel;
l->setText("Hello World!");
l->setParent(w);
l->setGeometry(0,0,100,100);
l->show();

An alternative solution is to show the parent after all the child widgets are already added. You don't need to allocate anything explicitly the heap:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    QLabel l("Hello World!", &w);
    l.setGeometry(0,0,100,100);
    w.show();
    return a.exec();
}

你可能感兴趣的:(Qt)