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);
    }

  • 相关阅读:
    (转)HapMap简介
    FASTQ 数据质量统计工具
    CentOS7利用systemctl添加自定义系统服务【转】
    python的pymysql使用方法【转】
    Python使用MySQL数据库【转】
    MySQL全备+binlog恢复方法之伪装master【原创】
    利用binlogserver恢复单表实验【转】
    shell文本左右对齐排版【转】
    关于GTID模式下备份时 --set-gtid-purged=OFF 参数的实验【转】
    mysqlbinlog恢复数据注意事项【转】
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5974787.html
Copyright © 2011-2022 走看看