Neusoft Qt1

1,042 阅读2分钟

选择

Qt对象间通信

protected slots 声明只有该类子类连接

没有字符国际化

用于对象间通信

protected受保护的

都对

都对

Qthread线程

不使用指针

class.forname

属性只能在在继承QObject直接子类

自适应布局

信号与槽都不带有参数

get事件

Iditable

椭圆渐变

填空

窗体:show函数,hide函数

Mvc:
Model是指业务模型,View是指用户界面,Controller则是控制器

判断

    All choice 1        

简答

  • 带界面应用程序编写操作步骤:

       1.创建窗体
       2.窗体摆放组件
       3.布局管理
       4.设置各控件标签顺序
       5.创建信号与槽
       6.连接信号与槽
       
       
    
  • qt实现事件过滤:

      1.调用installEventFilter()注册需要管理的对象
      2eventFilter() 里处理需要管理的对象的事件
    
  • 请简述Qt信号传输过程:

      Qt中,事件的派发是从 QApplication::notify() 开始。
    
      • 因为QAppliction也是继承自QObject, 所以先检查QAppliation对象, 如果有事件过滤器安装在qApp上, 先调用这些事件过滤器。
    
      • 接下来QApplication::notify() 会过滤或合并一些事件(比如失效widget的鼠标事件会被过滤掉, 而同一区域重复的绘图事件会被合并)。
    
      • 事件被送到receiver,如果有事件过滤器, 先调用这些事件过滤器。
    
      • 执行receiver ::event() 处理。
    
      • 执行receiver 的特定事件处理函数,如 receiver::keyPressEvent。
    
      • 对于鼠标, 滚轮, 按键等事件如果在整个事件的派发过程结束后还没有被处理, 那么这个事件将会向上转发给它的父widget, 直到最顶层窗口。    
    
  • 简述qt填充规则:

      Qt::OddEvent:奇偶填充规则
    
      •从该点画一条水平线到路径外,计算水平线和路径的交点数,
    
      •如果交点是奇数个则说明该点在路径图形内。Qt::WindingFill:非零弯曲规则
    
      •从该点画一条水平线到路径外,相交边线顺时针时,记为+1
    
      •逆时针时记为-1,相加求和后结果不为0,则说明该点在路径图形内 
    

编程

  • 使用qt颜色选择功能输出用户选择颜色:
// 创建对象
QColorDialog dialog(Qt::red,this);

// 显示alpha选项
dialog.setOption(QColorDialog::ShowAlphaChannel);

// 以模态方式运行对话框
dialog.exec();

// 获取当前颜色
QColor color = dialog.currentColor();
  • 富文本插入3行5列:
QTextCursor cursor(ui->textEdit->textCursor());
cursor.movePosition(QTextCursor::Start);
QTextTable *table = cursor.insertTable(3,5);
  • QTimer自定义定时器当前时间:
// 创建一个新的定时器
QTimer *timer = new QTimer(this);

// 关联定时器的溢出信号到我们的槽函数上
connect(timer,SIGNAL(timeout()), this,SLOT(timerUpdate()));

// 设置溢出时间为1秒,并启动定时器
timer->start(1000);
  • 定时器槽函数代码:
QDateTime datetime = QDateTime::currentDateTime();
QString str = datetime.toString("yyyy-MM-dd hh:mm:ss.zzz ddd");
ui->label->adjustSize();
ui->label->setText(str);