qt串口通信的介绍
来源:互联网 发布:apache 转发 数据大小 编辑:程序博客网 时间:2024/06/05 10:11
void open_devmgmt::on_pushButton_clicked(){ //qt有类曰:QProcess。举例说明 QProcess *process = new QProcess; process->start(tr("mmc devmgmt.msc")); //打开设备管理器}void open_devmgmt::on_pushButton_2_clicked(){QGraphicsScene *scene = new QGraphicsScene;scene->addPixmap(QPixmap("D:/time.png"));ui.graphicsView->setScene(scene);//ui.graphicsView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//ui.graphicsView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);}void open_devmgmt::on_pushButton_3_clicked(){ QStatusBar *bar = ui.statusBar; QLabel *lastLabel = new QLabel; lastLabel->setMinimumSize(150,20); lastLabel->setFrameShape(QFrame::WinPanel); lastLabel->setFrameShadow(QFrame::Plain); bar->addPermanentWidget(lastLabel); //这个是靠右边增加 //bar->addWidget(lastLabel); //这个是靠左边增加 lastLabel->setText(tr("Developed by xxx"));}
qt串口通信的介绍: 先open,然后set;可以先定义一个基本的PortSettings,然后打开串口,打开之后,在set各种属性。然后就可以开始通信了。因为windows上的串口是1-256,所以可以com1--com256都open一遍,能打开就说明此端口存在,不能打开就说没无此端口,然后对于打开成功的要记得关闭。这样就可以用一个comboBox显示可用端口。
关于new的部件,和qt的自动回收内存:
据大家公认和消息,(本人没有去搜索官方文档)对于局部的变量,new的部件,在窗口部件析构的时候,会自动被delete。所以对于写gui来说,我们一般都是在类h文件中,增加一下声明,然后在类的c文件中new,对于这些new的部件,都不用考虑delete问题。哈哈。
关于qt调用外部程序:
qt有类曰:QProcess。举例说明QProcess *process = new QProcess;process->start(tr("mmc devmgmt.msc")); //打开设备管理器更详细说明,请参考帮助文档。
关于显示图片:
scene = new QGraphicsScene;scene->addPixmap(QPixmap(":icon/logo.png"));ui->graphicsView->setScene(scene);ui->graphicsView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);ui->graphicsView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
注意这个图片格式只能是png,别的显示不了,方然肯定也有其他的解决办法可以显示。我这里就改改图片格式,反正png大小更小,用起来更好。
关于QLabel和超链接
qt中的文本基本都能使用html,我使用的是qtCreator,右键出现rich text可编辑html文字;如果只是自己简单的等等,好像不起作用,使用它rich text编辑框来编辑,可生成完整的html,才起作用,自己只要稍作修改即可。对于超链接,还必须在代码中设置ui->label_4->setOpenExternalLinks(true); 否则超连接无效。
关于关闭窗口事件:
通过继承void MainWindow::closeEvent(QCloseEvent *e){if(){e->accept();}else{}}对于有快捷键关闭的,void MainWindow::keyPressEvent(QKeyEvent *ek){if(ek->key()== (Qt::Key_Control + Qt::Key_Q)){ek->accept();}else{}}
关于状态栏:简单的可以只设置setStatusTip。复杂的就要定义一个StatusBar
两者可以共存。。
QStatusBar *bar = ui->statusBar;lastLabel = new QLabel; lastLabel->setMinimumSize(150,20); lastLabel->setFrameShape(QFrame::WinPanel);lastLabel->setFrameShadow(QFrame::Plain);bar->addPermanentWidget(lastLabel);//这个是靠右边增加 //bar->addWidget(lastLabel);//这个是靠左边增加 lastLabel->setText(tr("Developed by xxx"));
(实习编辑:HJ)
- qt串口通信的介绍
- qt编写串口通信程序的介绍
- Linux QT串口通信遇到的问题
- QT与python的串口通信
- Qt串口通信专题
- 转:Qt串口通信
- QT串口通信
- QT串口通信
- QT 串口通信2
- qt 串口通信1
- Qt串口通信学习方法
- QT串口通信
- QT 串口通信
- Qt 串口通信
- QT串口通信(1)
- QT串口通信实例
- Qt:串口通信
- PHP和串口通信的方法介绍
- java从零开始之一
- ubuntu无法安装vim软件包
- This class is not key value coding-compliant
- tomcat内存溢出解决
- 左手坐标系和右手坐标系
- qt串口通信的介绍
- 如何看懂ORACLE执行计划
- request_threaded_irq()
- 替代like模糊搜索,提高效率
- Linux I2C 总线驱动
- malloc分配二维数组
- C# NameValueCollection集合
- 【OpenCV】数字图像灰度直方图
- Python动态类型