zoukankan      html  css  js  c++  java
  • Qt杂记——布局、信号与槽等

    1.QHBoxLayout布局设置拉伸:

     ui->TopLayout->setStretch(0,1); //left
     ui->TopLayout->setStretch(1,4); //right

    就是说横向布局之中有两个控件、那么根据初始化的顺序默认index为0,1,所以分别设置两个控件的拉伸比例,上述代码中即为1:4显示。

    2.QGridLayout布局,该布局会自动将整个布局区域分割成几行几列的形式,这时候需要设置最小拉伸宽度和高度来调整:

        ui->gridLayout->addWidget(methodTree,0,0);//widget*,起始行,起始列,(所占行宽,所占列宽)
        ui->gridLayout->addWidget(frame,0,1); //widget*,起始行,起始列,(所占行宽,所占列宽)
        ui->gridLayout->setColumnMinimumWidth(0,150); //设置最小拉伸宽度(不小于)
        ui->gridLayout->setRowMinimumHeight(0,300); //设置最小拉伸高度(不小于)
        ui->gridLayout->setColumnStretch(0,1); //left  index,拉伸系数
        ui->gridLayout->setColumnStretch(1,4); //right  index,拉伸系数

    2.信号与槽注意事项:

    connect()中信号与槽函数若有参数只能写类型,不能带参数名字,如:

    connect(this,SIGNAL(itemClicked(QTreeWidgetItem*,int)),this,SLOT(TtemClicked(QTreeWidgetItem *, int)))

    再一个就是信号和槽的参数的类型须一一对应,否则无法接收信号。

    3.状态栏显示:

    //初始化状态栏
        QStatusBar *statusBar=ui->statusBar;
        msgLabel=new QLabel;
        msgLabel->setMinimumSize(150,20);
        msgLabel->setFrameShape(QFrame::WinPanel);
        msgLabel->setFrameShadow(QFrame::Sunken);
        statusBar->addWidget(msgLabel);
    //创建一个槽函数,方便调用显示状态
    void UdxConversion::showStatus(QString msg){
        msgLabel->setText(tr(msg.toUtf8())); 
    }
  • 相关阅读:
    BZOJ 3997: [TJOI2015]组合数学 [偏序关系 DP]
    [Sdoi2017]新生舞会 [01分数规划 二分图最大权匹配]
    [Sdoi2017]相关分析 [线段树]
    [Sdoi2017]硬币游戏 [高斯消元 KMP]
    [Sdoi2017]序列计数 [矩阵快速幂]
    [Sdoi2017]树点涂色 [lct 线段树]
    [Sdoi2017]数字表格 [莫比乌斯反演]
    BZOJ 3160: 万径人踪灭 [fft manacher]
    Rabbitmq常见测试
    MQ(消息队列)功能介绍
  • 原文地址:https://www.cnblogs.com/ForRickHuan/p/6055144.html
Copyright © 2011-2022 走看看