QT开发之按钮控件

1、设置背景图片

QIcon button_ico1(":/1.png");
ui->pushButton_1->setFlat(true);//去掉按钮边框
ui->pushButton_1->setStyleSheet("QPushButton{color:white; background-color:transparent;}");//去掉点击按钮时的边框
ui->pushButton_1->setIcon(button_ico1);//设置按钮背景图片

添加按钮正常、鼠标移动到按钮上、点击按钮、不可用四个状态的图片

ui->pushButton_1->setStyleSheet("QPushButton{border-image: url(:/png/1.png);}"
                                      "QPushButton:hover{border-image: url(:/png/2.png);}"
                                      "QPushButton:pressed{border-image: url(:/png/3.png);}"
"QPushButton:disabled{border-image: url(:/png/8.png);}");

2、多选按钮,选中三种状态,未选中三种状态

checkBox[i]->setStyleSheet("QCheckBox{spacing: 2px;color: white;}"
                                   "QCheckBox::indicator {width: 45px;height: 30px;}"
                                   "QCheckBox::indicator:unchecked {image: url(:/png/27.png);}"
                                   "QCheckBox::indicator:unchecked:hover {image: url(:/png/27.png);}"
                                   "QCheckBox::indicator:unchecked:pressed {image: url(:/png/27.png);}"
                                   "QCheckBox::indicator:checked {image: url(:/png/28.png);}"
                                   "QCheckBox::indicator:checked:hover {image: url(:/png/28.png);}"
                                   "QCheckBox::indicator:checked:pressed {image: url(:/png/28.png);}"
                                   );

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一个跨平台的软件开发框架,它的主要目标是提供开发者一个高效、易于学习和使用的工具,使他们能够创建运行于不同平台上的应用程序。Qt不仅仅是一个GUI(图形用户界面)工具,它还提供了多种实用的功能和类库,其中之一就是控件的增减。 在Qt中,通过创建一个按钮并添加一个槽函数来实现控件的增减。首先,我们需要在Qt程序中创建一个按钮。在代码中,可以使用QPushButton类来实现按钮的创建,并且需要给这个按钮添加一个名称,在这个例子中为“Button1”: QPushButton *Button1 = new QPushButton(“Add Control”); 接下来,我们需要为这个按钮添加一个槽函数,用于响应按钮的点击事件。这个槽函数可以在主窗口的类中定义,可以在“mainwindow.h”文件中进行定义,然后在“mainwindow.cpp”文件中进行实现。 void MainWindow::on_Button1_clicked() { //button clicked } 现在我们已经创建了按钮并为它添加了槽函数。在槽函数中,我们可以定义如何增加或减少控件。增加控件的方法可以是创建一个新的控件并在窗口中添加它,或者是将一个已有的控件“展开”,使它变得可见。 例如,我们可以添加一个文本框控件: QLineEdit *Edit1 = new QLineEdit(this); Edit1->setGeometry(10,10,200,30); 我们可以在按钮的点击事件中调用这个控件来实现“增加控件”的功能: QLineEdit *Edit1 = new QLineEdit(this); Edit1->setGeometry(10,10,200,30); 或者我们可以使用布局管理器来自动管理控件的布局,而不是手工设置位置和大小。在这个例子中使用QVBoxLayout布局管理器: QVBoxLayout *layout = new QVBoxLayout; QWidget *widget = new QWidget; QLineEdit *Edit1 = new QLineEdit(widget); layout->addWidget(Edit1); widget->setLayout(layout); setCentralWidget(widget); 这样,每当我们点击按钮,它就会自动将一个新文本框控件添加到布局中。 总之,Qt提供了多种实现控件增减的方法,开发者可以根据自己的需求来选择最适合自己的方法。无论是手工布局还是使用布局管理器,Qt 的灵活性和易用性都可以为我们带来方便和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值