zoukankan      html  css  js  c++  java
  • QT 常用控件一

    QWidget        创建窗口
    如果widget未使用腹肌进行创建,则在显示时视为窗口或顶层widget。
    由于顶层widget没有父级对象类来确保在其不再使用时删除,所以需要开发人员在应用程序中对其进程跟踪。
    在本例中,使用QWidget创建和显示具有默认大小的窗口
    QWidget *win=new QWidget();
    win->resize(320,240);
    win_>show();
    QPushButtopn *btn1=new QPushButton(tr("press me"),win);
    btn1->move(100,100);
    btn1->show();
    QHBoxLayout
    通常,子Widget是通过使用布局对象在窗口中进行排列的,而不是通过指定位置和大小进行排列的。再次,构造一个并排排列的标签和行编辑框Widgget:
    QLabel *label1=new QLabel(tr("Name:"));
    QLineEdit *edit1=new QLineEdit();
    QHBoxLayout *layout1=new QHBoxLayout();
    layout1->addWidget(label1);
    layout1->addWidget(edit1);
    window->setLayout(layout1);
    Widget::Widget(QWidget *parent)
        : QWidget(parent)
    {
        edit1=new QLineEdit();
        label1=new QLabel();
        label1->setText("please print:");
        /*QHBoxLayout横向添加控件,所有的控件都在一行上*/
        QHBoxLayout *layout1=new QHBoxLayout();
        layout1->addWidget(label1);
        layout1->addWidget(edit1);
        /*如果使用this作为初始化参数,则不需要使用setLayout()方法*/
        this->setLayout(layout1);
    }
    QVBoxLayout
    由于Widget可包含其他Widget,所以布局可用来提供按不同层次分组的Widget。
    这里,要在显示查询结果的表视图上方,窗口顶部的行编辑框旁,显示一个标签: QLabel
    *querylabel=new QLabel("Query:"); QLineEdit *queryedit=new QLineEdit(); QTableView *resview=new QTableView(); QHBoxLayout *querylayout=new QHBoxLayout(); querylayout->addWidget(querylabel); querylayout->addWidget(queryedit); QVBoxLayout *mainlayout=new QVBoxLayout(); mainlayout->addWidget(querylayout); mainlayout->addWidget(resview); this->setLayout(mainlayout);
    Widget::Widget(QWidget *parent)
        : QWidget(parent)
    {
        edit1=new QLineEdit();
        edit2=new QLineEdit();
        label1=new QLabel();
        label1->setText("帐号:");
        label2=new QLabel();
        label2->setText("密码:");
        btn1=new QPushButton();
        btn1->setText("确定");
        btn2=new QPushButton();
        btn2->setText("取消");
        /*QVBoxLayout纵向添加控件,所有的控件在一列上*/
        QVBoxLayout *layout1=new QVBoxLayout(this);
        QHBoxLayout *layout2=new QHBoxLayout();
        layout1->addWidget(label1);
        layout1->addWidget(edit1);
        layout1->addWidget(label2);
        layout1->addWidget(edit2);
        layout2->addWidget(btn1);
        layout2->addWidget(btn2);
        /*将layout2加入到layout1中,不是用setLayout()*/
        layout1->addLayout(layout2);
    }

  • 相关阅读:
    [Robot Framework] Robot Framework用Execute Javascript对XPath表示的元素执行scrollIntoView操作
    一台机器管理其他都装有kvm的实体机的虚拟机
    阿里云服务器问题
    开发族的跨域问题
    mysql不能连接的原因
    网络命令
    mysql5.7报错端口占用,服务起不来
    nagios的原理及server端跟client端安装配置全部过程
    查看CPU数量和核心数
    iptables的生产场景w
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5974787.html
Copyright © 2011-2022 走看看