QT控件操作(补充)

Qpushbutton按钮

1、代码生成pushbutton

QPushButton * btn = new QPushBuuton("PushBuuton",this);
void setText(const QString &text) 设置显示的文字
void setIcon(const QIcon &icon) 设置图标
void setShortcut(const QKeySequence &key) 设置快捷键
void setCheckable(bool) 设置是否能够选中
void setChecked(bool) 设置是否选中
void setFont(const QFont &) 设置字体
void setEnabled(bool) 设置是否能按下
void setAutoDefault(bool) 当用户按下 Enter 回车键时,是否触发点击按钮的事件。
void setAutoExclusive(bool) 此属性保存是否启用了自动独占

2、设置pushbutton的checkable属性

ui->LidarStartBt->setCheckable(true);

然后pushbutton槽函数就有bool checked参数。

/*按钮槽函数*/
void Widget::on_pushButtonPortSwitch_clicked(bool checked)
{
    if(checked)
    {
        ui->pushButtonPortSwitch->setText("close");
    }
    else
    {
        ui->pushButtonPortSwitch->setText("open");
    }
}

QGridLayout网格布局控件

1、控件布局

ui->gridLayout->addWidget(ui->pushButton, 0, 0);
ui->gridLayout->addWidget(ui->pushButton_2, 0, 1);
ui->gridLayout->addWidget(ui->pushButton_3, 0, 2);
ui->gridLayout->addWidget(ui->pushButton_4, 0, 3);
ui->gridLayout->addWidget(ui->pushButton_5, 0, 4);
 
ui->gridLayout->addWidget(ui->pushButton_6, 1, 0, 1, 2);
ui->gridLayout->addWidget(ui->pushButton_7, 1, 2, 1, 1);
ui->gridLayout->addWidget(ui->pushButton_8, 1, 3, 1, 2);
 
ui->gridLayout->addWidget(ui->pushButton_9, 2, 0);
ui->gridLayout->addWidget(ui->pushButton_10, 2, 3);
ui->pushButton->setText("获取行");
ui->pushButton_2->setText("获取列");
ui->pushButton_3->setText("某行伸缩系数");
ui->pushButton_4->setText("某列伸缩系数");
ui->pushButton_5->setText("某列最小宽度");
ui->pushButton_6->setText("某行最小宽度");
ui->pushButton_7->setText("总单元格数");
ui->pushButton_8->setText("移除布局条目");
ui->pushButton_9->setText("移动布局条目");

2、获取行

 qDebug() << "获取行:" << ui->gridLayout->rowCount();

3、获取列

qDebug() << "获取列:" << ui->gridLayout->columnCount();

4、某行伸缩系数

ui->gridLayout->setColumnStretch(0, 1);

5、某列伸缩系数

ui->gridLayout->setRowStretch(0, 2);

6、某列最小宽度

ui->gridLayout->setColumnMinimumWidth(0,5);

7、某列最小宽度

ui->gridLayout->setRowMinimumHeight(0,5);

8、总单元格数

扫描二维码关注公众号,回复: 17225842 查看本文章
qDebug() << "总单元格数:" << ui->gridLayout->count();

setStyleSheet

btn1->setStyleSheet("QPushButton{color:red}"); //设定前景颜色,就是字体颜色
btn1->setStyleSheet("QPushButton{background:yellow}"); //设定背景颜色为红色

btn1->setStyleSheet("QPushButton{color:red;background:yellow}");

第一个代码只能显示黄色背景,第二个确实红色字体,黄色背景。所以对于同一个部件,要在同一个setStyleSheet(…)中完全写出来,否则对于该部件来讲,只有最后一个setStyleSheet(…)起作用。

QPushButton,QToolButton的“按下”三态贴图,QPushButton为例:

setStyleSheet("QPushButton:hover{border-image:url(:/images/ui_design/1.png);} \               								QPushButton:pressed{border-image:url(:/images/ui_design/2.png);}  \              	
              QPushButton{border-image:url(:/images/ui_design/3.png);}");

猜你喜欢

转载自blog.csdn.net/qq_43805944/article/details/131257873