将枚举类型转换为字符串
- 这里使用的在网络编程中,获取socket状态并显示的时候,遇到的一个问题
#include <QMetaEnum>
QMetaEnum metaEnum = QMetaEnum::fromType<QAbstractSocket::SocketState>();
const char *c_str = metaEnum.valueToKey(socketState);
QString str = QString(c_str);
使用事件过滤器实现,点击lineEdit,按下回车,调用btn的点击槽函数
ui->lineEdit->installEventFilter(this);
bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{if (obj == ui->lineEdit && event->type() == QEvent::KeyPress){QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return){ui->btnSendMsg->click();return true; }}return QObject::eventFilter(obj, event);
}
设置插入到QplainTextEdit中的文字样式
void MainWindow::InsertPlantText(QString &str, int fontSize, QColor fontColor, QColor backColor)
{QTextCharFormat originFmt = ui->plainTextEdit->currentCharFormat();QTextCharFormat fmt;fmt.setFontPointSize(fontSize);fmt.setForeground(QBrush(fontColor));fmt.setBackground(QBrush(backColor));ui->plainTextEdit->mergeCurrentCharFormat(fmt);ui->plainTextEdit->appendPlainText(text);ui->plainTextEdit->setCurrentCharFormat(originFmt);
}
设置图标
this->setWindowIcon(QIcon(":/images/wx.ico"));
RC_ICONS += wx.ico