Qt杂项功能实现

本文介绍Qt杂项功能实现。

1.隐藏鼠标指针

1)整个应用程序都不显示鼠标指针

可在“QApplication a(argc, argv);”之后添加:

QApplication::setOverrideCursor(Qt::BlankCursor);

这在带触摸屏的应用中非常有用。

2)某个窗口不显示鼠标指针

可在窗口的构造函数中调用:

QWidget::setCursor(QCursor(Qt::BlankCursor));

3)某个控件不显示鼠标指针

如某个label显示范围内不显示鼠标指针:

ui->lbTest->setCursor(Qt::BlankCursor);

2.设置控件背景颜色

1)设置Button背景颜色

参考代码如下:

ui->pushButton->setPalette(QPalette(Qt::red));
//or ui->pushButton->setPalette(QPalette(QColor(255, 0, 0)));

2)设置Label背景颜色

参考代码如下:

ui->label->setPalette(QPalette(Qt::green));
//or ui->label->setPalette(QPalette(QColor(255, 0, 0)));
ui->label->setAutoFillBackground(true);

3.设置颜色(通用)

设置颜色可以通过调色板(pallette)进行,参考代码如下(以Button字体颜色为例):

QPalette palette;
palette.setColor(QPalette::ButtonText, Qt::blue);
ui->pushButton->setPalette(palette);

setColor()函数调色板类型可查帮助文档。

4.设置控件背景图片

1)设置Button背景图片

参考代码如下:

QIcon iconStart(":/icon/Start");

ui->btnStart->setIconSize(iconStart.availableSizes().first());
ui->btnStart->setIcon(iconStart);

2)设置Label背景图片

参考代码如下:

QPixmap pixmapTest(":/icon/Test");

ui->lbTest->setPixmap(pixmapTest);

5.为应用程序设置图标

1)将一个图标文件(.ico格式)复制到项目源程序目录下

2)项目配置文件里添加(AppIcon为图标名称):

RC_ICONS = AppIcon.ico

6.使用虚拟键盘

1)设置环境变量

在main函数“QApplication a(argc, argv);”前加入下代码:

qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

2)焦点设置

根据情况设置ui中的可编辑控件的“focusPolicy”,如设置为“StrongFocus”。

7.设置字体

以lineEdit控件为例,其他类似。参考代码如下:

ui->lineEdit->setText("ABC");
QFont font = ui->lineEdit->font();
font.setPointSize(12);
font.setBold(true);
font.setItalic(true);
font.setFamily("Ubuntu");
font.setWeight(40);  //Font line width
ui->lineEdit->setFont(font);

8.设置背景提示文字

有时想实现如下效果:

可在ui中设置“placeholderText”中设置,也可以采用代码设置,参考代码如下:

ui->lineEdit->setPlaceholderText("ABC");

9.设置组合键

如想实现按下Ctrl+Alt+A组合键,然后实现某个功能,参考代码如下:

void MainWindow::keyPressEvent(QKeyEvent *event)
{
    if ((event->modifiers() == (Qt::ControlModifier | Qt::AltModifier)) && (event->key() == Qt::Key_A)) {
        close();
        event->accept();
    }

    QMainWindow::keyPressEvent(event);
}

注意严格按Ctrl+Alt+A的按键顺序,同时注意设置的组合键是否和系统组合键冲突。

10.退出应用程序

在多界面程序中,在某个嵌套的子界面(比如维护界面)想要退出整个应用程序,参考代码如下:

QApplication::quit();

11.Windows环境下程序自启动

修改注册表,在注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

“新建”->“字符串值(S)”,分别设置“数值名称(N)”,“数值数据(V)”。

1)数值名称(N):应用程序名称

2)数值数据(V):应用程序路径

12.引入其它库

引入其它库,需要在“.pro”文件中包含头文件及指定库,设置如下:

INCLUDEPATH += /usr/include/libusb-1.0 \
               /usr/include/xxx
LIBS += -ljpeg -lusb-1.0

待后续补充。

总结,本文介绍了Qt杂项功能实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值