问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Qt控件属性及常用控件详解

创作时间:
作者:
@小白创作中心

Qt控件属性及常用控件详解

引用
CSDN
1.
https://blog.csdn.net/qq_57425280/article/details/141755391

Qt框架提供了丰富的内置控件,如按钮、文本框、单选按钮、复选按钮和下拉框等,这些控件具有多种属性,可以满足各种界面设计需求。本文将详细介绍Qt中常用控件的核心属性及其使用方法。

1. 常用控件属性

1.1 enabled

enabled属性用于控制控件是否可用。通过两个按钮可以实现一个按钮控制另一个按钮的可用状态。

void Widget::on_pushButton_clicked()
{
    qDebug()<<"执行槽函数";
}
void Widget::on_pushButton_2_clicked()
{
    bool enable=ui->pushButton->isEnabled();
    if(enable){
        ui->pushButton->setEnabled(false);
    }else{
        ui->pushButton->setEnabled(true);
    }
}

1.2 geometry

geometry属性用于获取和设置控件的位置和尺寸。其常用API包括geometry()、setGeometry(QRect)和setGeometry(int x, int y, int width, int height)。

1.2.1 geometry示例:调整目标的大小和位置

通过点击上下左右四个按钮,可以调整一个目标的大小和位置。

1.2.2 geometry示例:无法拒绝的表白

当女生点击拒绝按钮时,该按钮会随机移动位置,增加趣味性。

void Widget::on_pushButton_accept_clicked()
{
    ui->lineEdit->setText("爱死你了宝贝,mua~亲一个!");
}
void Widget::on_pushButton_reject_clicked()//点击,鼠标点了之后松开生效
{
//    int width=this->geometry().width();
//    int height=this->geometry().height();
//    //获取width和height并取模,保证其位置不会超出窗口范围!
//    int x=rand()%width;
//    int y=rand()%height;
//    ui->pushButton_reject->move(x,y);
}
void Widget::on_pushButton_reject_pressed()//点击,点下鼠标就生效,不需要松开
{
    int width=this->geometry().width();
    int height=this->geometry().height();
    //获取width和height并取模,保证其位置不会超出窗口范围!
    int x=rand()%width;
    int y=rand()%height;
    ui->pushButton_reject->move(x,y);
}

1.3 window frame窗口框架

frameGeometry()返回包含窗口框架的QRect对象,而geometry()不包含窗口框架。setGeometry()设置窗口位置和尺寸时也不包含窗口框架。

1.4 windowTitle

windowTitle属性用于设置和获取窗口标题。常用API包括windowTitle()和setWindowTitle(const QString& title)。

1.5 windowIcon

windowIcon属性用于设置和获取窗口图标。常用API包括windowIcon()和setWindowIcon(const QIcon& icon)。为了确保图标资源在不同环境下都能正确加载,推荐使用qrc机制。

1.6 windowOpacity

windowOpacity属性用于设置窗口的透明度,取值范围为0.0(全透明)到1.0(完全不透明)。常用API包括windowOpacity()和setWindowOpacity(float n)。

1.7 cursor

cursor属性用于改变鼠标光标的样式。常用API包括cursor()、setCursor(const QCursor& cursor)和QGuiApplication::setOverrideCursor(const QCursor& cursor)。Qt允许通过自定义图片设置光标,可以在阿里巴巴矢量图标库中免费下载大量鼠标图标。

1.8 font

font属性用于设置字体相关属性,包括字体家族、大小、粗细、倾斜等。常用API包括font()和setFont(const QFont& font)。

1.9 toolTip

toolTip属性用于设置鼠标悬停时的提示信息。常用API包括setToolTip和setToolTipDuration。

1.10 focusPolicy

focusPolicy属性用于设置控件获取焦点的策略。常用API包括focusPolicy()和setFocusPolicy(Qt::FocusPolicy policy)。

1.11 styleSheet

styleSheet属性用于通过CSS设置控件样式。支持RGB颜色和传统颜色名称。

2. qrc文件

qrc文件是一种资源文件,可以在Qt项目编译时将图片等资源数据编译到exe文件中,避免了运行时查找资源文件的问题。

3. 在styleSheet中颜色的应用及知识

可以通过RGB颜色或传统颜色名称设置控件样式。

this->setStyleSheet("background-color:rgb(240,240,240)");//rgb方式
this->setStyleSheet("background-color:white");//传统方式
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号