首页 > 其他分享 >QT常识

QT常识

时间:2022-12-23 18:00:12浏览次数:38  
标签:调用 函数 常识 部件 参数 connect Qt QT


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

相关文章

  • Qt代码实现上下左右布局
    //实现在上下左右四个方向分别放置按钮#include<QtWidgets>#include"arrowpad.h"ArrowPad::ArrowPad(QWidget*parent):QWidget(parent){upButton=newQPushBu......
  • QT实现CAN通信
    #include"connectdialog.h"#include"ui_connectdialog.h"#include<QCanBus>ConnectDialog::ConnectDialog(QWidget*parent):QDialog(parent),m_ui(newUi::Con......
  • qt中的一些对话框(个人备忘录)
    一、标准对话框   1.对于颜色对话框voidMyWidget::on_pushButton_clicked(){QColorDialogdialog(Qt::red,this);dialog.setOption(QColorDialog::Show......
  • QT QCustomPlot 中用参考线标示曲线的值
    https://blog.csdn.net/qq_37006532/article/details/127537965一、前言嵌入式触摸系统主要介绍qt用QCustomPlot实现曲线绘制后,点击屏幕,在曲线上显示点击位置的曲线值......
  • QT组件说明
    QtCore:核心模块,提供了其它模块所必需的数据类型和非图像类;QtGUI:图形用户界面(GUI)组件的基类;QtQuick(QML):用于构建具有自定义用户界面的高动态应用程序的声明......
  • Qt程序打包成单独exe的方法
    (1)QT编译kit安装路径:c:\Qt\6.4.0\mingw_64\(2)打开命令行工具cmd,使用windeployqt对生成的exe文件进行打配置动态库文件:  c:\Qt\6.4.0\mingw_64\bin\windeployqt.......
  • 基于opencv和QT的摄像头采集代码( GoQTtemplate3持续更新)
    GoQTtemplate3是我为编写Linux下图像处理程序实现的框架,希望能够为大家解决Linux环境下桌面图像处理程序,提供一些帮助。文中相关代码请参考:​​https://github.com/jsxyhe......
  • 快速阅读《QT5.9 c++开发指南》1
    目录:书共分为16章,每章涉及一个主题或Qt的功能模块,涵盖了Qt应用程序开发的主要功能模块。人民邮电出版社异步社区本书的页面提供的“样章下载”,可......
  • qt的窗口
      1.窗口、字部件以及窗口类型(记得不牢固的)(1)#include<QtWidget>Widgets是在Qt中创建用户界面的主要元素。Widgets可以显示数据和状态信息,接收用户输入,并为应......
  • MQTT服务(C#)
    MQTT服务(C#)MQTT服务器(C#)开启MQTT服务器,需要用到库MQTTnet,使用VS2019企业版。右键管理Nuget包,搜索下载MQTTnet(3.0.16版本)并安装,Install-PackageMQTTNET,出现下列提示,......