1 QWidget类有什么用途?
在Qt应用程序中,QWidget用做工作空间.它是底层窗口,在其上可以放置其他对象,如按钮等.
QWidget 是Qt中所有widget部件(比如QDialog、QPushButton、QLabel)的基类。
2 a.setMainWidget(&mainwindow);语句的意义是什么?
这段代码告诉Qt,说明mainwindow对象是程序的主部件.当主部件关闭时,整个程序随之结束.
(主部件与其他Qt部件的区别是:当主部件终止时,整个程序就运行结束.)
3 我不理解setGeometry()中的参数究竟代表什么意思?
这一点比较容易混淆.你应该明白,象素(0,0)表示监视器的左上角,而不是我们习惯的左下角.因此,如果你在主窗口中使用 setGeometry,setGeometry的第一个参数定义在屏幕的左边和窗口的左上角之间的象素数.第二个参数定义在屏幕的上边和窗口的左上角之间的象素数.接下来的两个参数以象素为单位定义窗口的宽度和高度.一旦你习惯它,这也就不难理解了.
4 为什么不必调用每个对象的show()函数?
当调用父部件的show()函数时,子部件被自动显示.hide(),close()
5 为什么输入this指针代替父部件?
this指针表示在当前类中还未创建的对象.因此,如果设置this指针作为父部件,父部件将是在后面的main()函数中所要创建的对象.
6 什么是qApp?
qApp的创建和this指针想法相同.它是一个指向还未创建的QApplication对象(它在main()中创建)的指针.
7 为什么在main()函数中需要调用a.exec()函数?
在这一行,将程序控制权传递给Qt库.从这里开始,Qt负责处理用户交互和其他程序操作.
8 我的编译器报告传递给connect()函数的参数错误,这是为什么?
connect()函数参数使用对象指针,而不是对象本身.因此,你必须确认所提供的参数是正确的.
9 能否将多个槽连接到一个信号?
能够,这是可能的.只需为每个连接调用一次connect()函数.
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(showSlot()));
10在调用connect()函数时,省略槽所属对象名称意味着什么?
这意味着槽在当前类中定义(也就是说,类是当前所定义类).因此,只能从具有槽的类成员函数中执行这类调用.
11是否能够将一个信号连接到其他信号?如果能,应该怎样操作?
可以.只需象通常一样使用connect()函数,如:
connect(button,SINGAL(clicked()),this,SINGAL(anothersignal()));
12检查是否点击QPushButton对象使用什么信号?
clicked()信号.(应用QPushButton::setDefault()的按钮将变为默认按钮--即用户按回车键时将点击的按钮)
13使用Qprinter::setOrientation()函数
(向它传递Qprinter::Portrait或Qprinter::Landscape)能够设置打印方向.
14是否能够选择多个文件?
可以,只要使用QFileDialog::getOpenFiles()函数(注意结尾的s)
15重新编译Qt非常耗时!有没有办法能够加速这一过程?
不能加速实际编译.但是,如果你的存储空间足够,可以在首次编译Qt后将.o文件保留在硬盘上.之后,如果需要重新编译Qt库(例如,增加对gif的支持),这一过程将大大加快.当运行 make clean命令时,.o文件被删除.因此,如果你有足够的空间,可以跳过这一步.
16当使用当前时间时,时间将自动调整为程序运行时区的当地时间吗?
是的,这依赖于计算机的系统时钟.因此,如果它被设置为当地时间,当调用QTime::getCurrent()时QTime将得到当地时间.这也意味着如果你的系统时钟设置是错误的,QTime::getCurrent()将返回错误的时间.
ui->label_p1->setPixmap(QPixmap("C:/1.gif"));
MainWindow::setWindowTitle(tr("唯心安乐"));//tr
setWindowIcon(QIcon(":/images/dd.jpg"));
// this->setWindowFlags(Qt::FramelessWindowHint);
setWindowFlags(Qt::CustomizeWindowHint);
setWindowFlags(Qt::WindowCloseButtonHint|Qt::WindowMinimizeButtonHint);//只要关闭按钮
statusLabel = new QLabel("<font color=red>Hello,Qt!</font>");
ui->statusBar->addWidget(statusLabel);//add2
QT中窗口刷新事件。void QWidget::paintEvent ( QPaintEvent * ) Paint这个事件只要是窗体部件需要被重绘了就会被调用
Qt Creator创建项目自带的Main Window主窗体默认是包含一个QMenuBar、一个图2-15 Hello程序界面设计结果QToolBar和一个QStatusBar,Hello实例用不到这些控件,可以在窗体中删除这些自带控件。
关于窗口关闭的操作,在这里指出常用的三个槽,即quit(),exit()以及close()。
1.关闭主窗口并退出程序是 QApplication::exit() 2.如果是QDialog,就accept() 或 reject() 3.对于所有QWidget:close()
QString strfile;
strfile = QCoreApplication::applicationDirPath();
qDebug()<<"Path:"<<strfile;
QDir dir;
qDebug() <<"Path2"<< dir.currentPath() << endl;
当信号的参数与槽函数的参数数量不同时,只能是信号的参数数量多于槽函数的参数数量,且前面相同数量的参数类型应一致,信号中多余的参数会被忽略。
1 QWidget类有什么用途?
在Qt应用程序中,QWidget用做工作空间.它是底层窗口,在其上可以放置其他对象,如按钮等.
QWidget 是Qt中所有widget部件(比如QDialog、QPushButton、QLabel)的基类。
2 a.setMainWidget(&mainwindow);语句的意义是什么?
这段代码告诉Qt,说明mainwindow对象是程序的主部件.当主部件关闭时,整个程序随之结束.
(主部件与其他Qt部件的区别是:当主部件终止时,整个程序就运行结束.)
3 我不理解setGeometry()中的参数究竟代表什么意思?
这一点比较容易混淆.你应该明白,象素(0,0)表示监视器的左上角,而不是我们习惯的左下角.因此,如果你在主窗口中使用 setGeometry,setGeometry的第一个参数定义在屏幕的左边和窗口的左上角之间的象素数.第二个参数定义在屏幕的上边和窗口的左上角之间的象素数.接下来的两个参数以象素为单位定义窗口的宽度和高度.一旦你习惯它,这也就不难理解了.
4 为什么不必调用每个对象的show()函数?
当调用父部件的show()函数时,子部件被自动显示.hide(),close()
5 为什么输入this指针代替父部件?
this指针表示在当前类中还未创建的对象.因此,如果设置this指针作为父部件,父部件将是在后面的main()函数中所要创建的对象.
6 什么是qApp?
qApp的创建和this指针想法相同.它是一个指向还未创建的QApplication对象(它在main()中创建)的指针.
7 为什么在main()函数中需要调用a.exec()函数?
在这一行,将程序控制权传递给Qt库.从这里开始,Qt负责处理用户交互和其他程序操作.
8 我的编译器报告传递给connect()函数的参数错误,这是为什么?
connect()函数参数使用对象指针,而不是对象本身.因此,你必须确认所提供的参数是正确的.
9 能否将多个槽连接到一个信号?
能够,这是可能的.只需为每个连接调用一次connect()函数.
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(showSlot()));
10在调用connect()函数时,省略槽所属对象名称意味着什么?
这意味着槽在当前类中定义(也就是说,类是当前所定义类).因此,只能从具有槽的类成员函数中执行这类调用.
11是否能够将一个信号连接到其他信号?如果能,应该怎样操作?
可以.只需象通常一样使用connect()函数,如:
connect(button,SINGAL(clicked()),this,SINGAL(anothersignal()));
12检查是否点击QPushButton对象使用什么信号?
clicked()信号.(应用QPushButton::setDefault()的按钮将变为默认按钮--即用户按回车键时将点击的按钮)
13使用Qprinter::setOrientation()函数
(向它传递Qprinter::Portrait或Qprinter::Landscape)能够设置打印方向.
14是否能够选择多个文件?
可以,只要使用QFileDialog::getOpenFiles()函数(注意结尾的s)
15重新编译Qt非常耗时!有没有办法能够加速这一过程?
不能加速实际编译.但是,如果你的存储空间足够,可以在首次编译Qt后将.o文件保留在硬盘上.之后,如果需要重新编译Qt库(例如,增加对gif的支持),这一过程将大大加快.当运行 make clean命令时,.o文件被删除.因此,如果你有足够的空间,可以跳过这一步.
16当使用当前时间时,时间将自动调整为程序运行时区的当地时间吗?
是的,这依赖于计算机的系统时钟.因此,如果它被设置为当地时间,当调用QTime::getCurrent()时QTime将得到当地时间.这也意味着如果你的系统时钟设置是错误的,QTime::getCurrent()将返回错误的时间.
ui->label_p1->setPixmap(QPixmap("C:/1.gif"));
MainWindow::setWindowTitle(tr("唯心安乐"));//tr
setWindowIcon(QIcon(":/images/dd.jpg"));
// this->setWindowFlags(Qt::FramelessWindowHint);
setWindowFlags(Qt::CustomizeWindowHint);
setWindowFlags(Qt::WindowCloseButtonHint|Qt::WindowMinimizeButtonHint);//只要关闭按钮
statusLabel = new QLabel("<font color=red>Hello,Qt!</font>");
ui->statusBar->addWidget(statusLabel);//add2
QT中窗口刷新事件。void QWidget::paintEvent ( QPaintEvent * ) Paint这个事件只要是窗体部件需要被重绘了就会被调用
Qt Creator创建项目自带的Main Window主窗体默认是包含一个QMenuBar、一个图2-15 Hello程序界面设计结果QToolBar和一个QStatusBar,Hello实例用不到这些控件,可以在窗体中删除这些自带控件。
关于窗口关闭的操作,在这里指出常用的三个槽,即quit(),exit()以及close()。
1.关闭主窗口并退出程序是 QApplication::exit() 2.如果是QDialog,就accept() 或 reject() 3.对于所有QWidget:close()
QString strfile;
strfile = QCoreApplication::applicationDirPath();
qDebug()<<"Path:"<<strfile;
QDir dir;
qDebug() <<"Path2"<< dir.currentPath() << endl;
当信号的参数与槽函数的参数数量不同时,只能是信号的参数数量多于槽函数的参数数量,且前面相同数量的参数类型应一致,信号中多余的参数会被忽略。
标签:调用,函数,常识,部件,参数,connect,Qt,QT From: https://blog.51cto.com/u_15045304/5966121