Qt学习笔记之一(复习)

1. QWidget *widget = new QWidget(0,Qt::Dialog | Qt ::FramelessWindowHint);
   QLabel *label = new QLabel(0,Qt::SplashScreen | Qt::WindowStaysOnTopHint);
Qt::FramelessWindowHint用来产生一个没有边框的窗口,Qt::WindowStayOnTopHint用来使该窗口停留在其他窗口上面。即当窗口叠加的时候该窗口总是在最上层。
2. 信号与槽的认识
Qt中使用信号和槽机制来完成对象之间的协同操作。简单的说,信号和槽都是函数,比如单击窗口上的一个按钮想要弹出一个对话框,那么就可以将这个按钮的单击信号和定义的槽关联起来,在这个槽中可以创建一个对话框并且显示。这个单击这个按钮时就会发射信号,进而执行槽来显示一个对话框。
3. close()这个函数不一定使程序退出,只有当只剩下最后一个主界面时调用close()槽,程序才会退出;其他情况下界面只是隐藏起来了,并没有被销毁
4.要使用qDebug()函数,要添加#include<QDebug>头文件。
5.听到两首好听的歌...大家分享下!Matt Morris的Let it go和Live Forever.
6.在Qt中,每个ui都是一个类,里面的按钮什么都可以看做是类的成员。就比如要响应一个按钮的功能,直接ui->objectname(对象名)。for example:
connect(ui->showChildButton,SIGNAL(clicked()),this,SLOT(showChildDialog()));//这一条语句中
ui->showChildButton,showChildButton即为按钮控件的objectname。
7. 在运用输入对话框的时候,运用QInputDialog类。for example int value1 = QInputDialog::getInt
(this,tr("输入正事对话框"),tr("请输入-1000到1000之间的数值"),100,-1000,1000,10,&ok);
if (ok) qDebug()<<"value1:"<<value1;这段代码前定义个一个bool变量,当检测到ok为真时(即ok键被按下),调用整型变量value1。
8.void MyWidget::on_pushButton_5_clicked()
{
    int ret1 = QMessageBox::question(this,tr("问题对话框"),
                     tr("你了解Qt吗?"),QMessageBox::Yes,QMessageBox::No);// 问题对话框
    if(ret1 == QMessageBox::Yes) qDebug()<<tr("问题!");
    int ret2 = QMessageBox::information(this,tr("提示对话框"),
                     tr("这是Qt书籍!"),QMessageBox::Ok);// 提示对话框
    if(ret2 == QMessageBox::Ok) qDebug()<<tr("提示!");
    int ret3 = QMessageBox::warning(this,tr("警告对话框"),
                                    tr("不能提前结束!"),QMessageBox::Abort);// 警告对话框
    if(ret3 == QMessageBox::Abort) qDebug()<<tr("警告!");
    int ret4 = QMessageBox::critical(this,tr("严重错误对话框"),
              tr("发现一个严重错误!现在要关闭所有文件!"),QMessageBox::YesAll);// 错误对话框
    if(ret4 == QMessageBox::YesAll) qDebug() <<tr("错误");
    QMessageBox::about(this,tr("关于对话框"),
                       tr("yafeilinux.com致力于Qt及Qt Creator的普及工作!"));// 关于对话框
}//这是消息对话框的响应函数.当消息对话框按键被按下以后首先弹出一个问题对话框,消息对话框的返回值都是为整形。并且每个对话框都是以变量的形式定义的。
9.void MyWidget::on_pushButton_7_clicked()
{
    QErrorMessage *dialog = new QErrorMessage(this);
    dialog->setWindowTitle(tr("错误信息对话框"));
    dialog->showMessage(tr("这里是出错信息!"));
}//这是错误消息对话框,这里是调用showMessage()函数来显示错误信息
10.QWizard为菜单类,QWizardPage为菜单页面类...
void MyWidget::on_pushButton_8_clicked()
{
    QWizard wizard(this);
    wizard.setWindowTitle(tr("向导对话框"));


    // 添加向导页面
    wizard.addPage(createPage1());
    wizard.addPage(createPage2());
    wizard.addPage(createPage3());
    wizard.exec();
}//这段代码里就是依次选择next按钮显示的向导页面。从页面一到页面三,再在此函数之前定义好三个向导页面的函数,就可以依次调用。
11.  QTextCodec::setCodecForTr(QTextCodec::codecForLocale());此行代码的作用是解决中文编码问题,如果没有此行代码界面上的中文可能都会显示乱码。但是在使用这一句代码前一定要包含#include<QTextCodec>这个头文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值