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

  • 相关阅读:
    HTTP客户端识别与Cookie机制
    javascript模式之模块模式
    js类式继承模式学习心得
    关于html自闭合标签要不要加空格和斜杠的问题?
    分享两件有趣的事情
    PS Web切图界面设置
    这是什么
    关于前后端分离我的理解
    模块化方案esl以及amd的依赖方式
    node 内存管理相关
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5974787.html
Copyright © 2011-2022 走看看