2024年3月13日发(作者:)
考题
一、C/C++ 部分:
运用c函数库,c++函数库或者stl(提示:可以使用stl中的find), 写一个函数
完成如下功能:
名称: void replace_especial_char(char *pStrIn, char *pStrOut);
参数: pStrIn: 输入的字符串 pStrOut:输出的字符串
目的: 把参数输入的字符串中的所有’[‘,’]’,’ $’,’`’ 四个字符前面都加上””, 然
后再把新的字符串复制到pStrOut中。
二、Qt第一部分:
1. 任意写一个Qt的小例子。
2. Qt是否为跨平台SDK?Qt支持哪些平台下的开发?
3. 简要介绍Qt的信号槽机制。
三、Qt第二部分:
1. 列举Qt实现控件透明的方法,至少2种。
2. 使用Qt Style Sheet设置QpushButton样式。QpushButton背景为一图片, 图
片路径:/boot/data/images/; QpushButton字体颜色为蓝色。
3. 分析如下代码,补齐空白。
QGraphicsScene *scene = new QGraphicsScene();
scene->setSceneRect(0, 0, 195, 95);
QGraphicsView *view = new QGraphicsView();
( 1 ) ; // 画布添加场景
view->setGeometry(100, 0, 100, 200);
view->rotate( 2 ); // 画布顺时针旋转90度
QGraphicsTextItem *textItem = new QGraphicsTextItem();
textItem->setFont(QFont("fzhei", 16, QFont::Normal));
textItem->setPlainText(tr(“hello world”));
textItem->setPos(0, 0);
( 3 ) ; // 画布添加文本
4. 数据库中已生成表user_count, sql语句如下:
create table user_count (id INTEGER PRIMARY KEY, count float, mac varchar(12));
要求补充下面两处空格,实现函数getUserCount() 从数据库user_count表中获取
mac为’ A010012820FE’的记录的count字段值。
void DBInterface::getUserCount(float &nCount)
{
nCount = 0;
QString strSql = Qstring( 1 );
QSqlQuery query;
int bRet = (strSql);
if(!bRet)
{
qDebug() << ror().text();
return;
}
while(())
{
nCount = ( 2 );
break;
}
}
5. 根据Qt Event 处理机制,分析如下代码:
class MonitorObject : public QObject
{
public:
MonitorObject() {}
protected:
bool eventFilter(QObject *obj, QEvent *event);
};
bool MonitorObject::eventFilter(QObject *obj, QEvent *event)
{
qDebug(“eventFiltern”);
return false;
}
class MyWidget : public QWidget
{
public:
MyWidget(QWidget* parent = 0) : QWidget (parent) {}
protected:
virtual bool event(QEvent * event);
virtual void keyPressEvent(QKeyEvent * event);
};
bool MyWidget::event(QEvent * event)
{
qDebug(“eventn”);
return QWidget::event(event);
}
void MyWidget::keyPressEvent(QKeyEvent * event);
{
qDebug(“keyPressEventn”);
MyWidget:: keyPressEvent(event);
}
int main(int argc, char **argv)
{
QApplication a(argc, argv);
MonitorObject *pMonitorObject = new MonitorObject;
MyWidget *pWidget = new MyWidget;
MyWidget->installEventFilter(pMonitorObject);
MyWidget->show();
return ();
}
启动程序,当键盘事件(Key Press)发生时,列出打印信息。
发布评论