dj Yang
GNSS从事卫星导航信号基带处理算法研究,定位算法,组合导航算法
展开
-
部件提升为自定义类
1、提升Qwidget为自定义类,无法画图 目的是在DockWidget画图,现在Dock上用设计师放置了Qwidget容器。在新建了class类文件,创建自定义类,然后将部件提升为自定义的类。出现如下错误undefined reference "vtable for ...h"等莫名的错误。后来发现自定义类的构造函数没有给父类构造函数进行初始化,也就是没有加":"后面的内容。cnoisewidget::cnoisewidget(QWidget *parent): QWidget...原创 2022-05-14 19:21:15 · 499 阅读 · 0 评论 -
Qt中LineEdit编辑框限制数字输入整理
常用的正则表达式,编辑框内容限制使用。原创 2022-05-14 19:10:25 · 10537 阅读 · 2 评论 -
Qt 写ini文件[配置文件],键值带有逗号会在文件中出现双引号,写配置文件如何去除双引号,需用QStringList,不要加逗号进去
Qt写配置文件需要用到QSettings,我要写入的键值是带有逗号的字符串,如下:[data]value=A, result, 0, 0, 0按照例程敲了代码,如下QSettings cfgFile(fileName, QSettings::IniFormat);cfgFile.setIniCodec(QTextCodec::codecForName("UTF-8"));cfgFile.setValue("data/value",QString("A, result, 0, 0, 0"原创 2021-10-30 19:32:20 · 2512 阅读 · 3 评论 -
Qt工具栏控件添加、多个Dock窗口的布局
工具栏控件工具栏添加下拉菜单由于无法通过QAction的方式,添加按钮图标在工具栏,下拉菜单需要通过代码的方式填加到工具栏上面。QComboBox *m = new QComboBox(this);m->addItem(tr("red"));m->addItem(tr("green"));m->setToolTip(tr("color choice"));ui->mainToolBar->addWidget(m);工具栏QAction部件之间间距设置原创 2021-07-18 16:44:09 · 3217 阅读 · 2 评论 -
Qt——文件可拖入窗体的功能的实现
通常选择文件会设置“选择文件”的按钮,但是仍然需要点来点去,去到文件所在的路径下选中,相对来说麻烦一点。而直接将当前文件拖入窗体实现获取文件名的方式显得方便许多,下面为实现拖入、释放的代码,两个方法需要在头文件中声明。void MainWindow: :dragEnterEvent (QDr agEnterEvent xevent){//虚函数- -实现拖入事件 event-> acceptProposedAction();}void MainWindow::dropEvent原创 2021-07-18 16:07:58 · 419 阅读 · 0 评论 -
Qt designer中使用QSplitter创建推拉窗口
典型例子:在Widgets上左边放置树形菜单,右边放置文本框等其他框架,需要实现菜单的边界可以推拉。method 1:代码实现方法QSplitter *splitter = new QSplitter(parent);QListView *listview = new QListView;QTreeView *treeview = new QTreeView;QTextEdit *textedit = new QTextEdit;splitter->addWidget(listvie原创 2021-07-16 00:11:32 · 2720 阅读 · 0 评论 -
Qt绘制星空图及卫星视图坐标
绘制卫星视图的圆,标记方位角void skyViewer::paintEvent(QPaintEvent *event){ Q_UNUSED(event); QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing,true); painter.setPen(Qt::green); // 绘制圆 painter.drawEllipse(centerPoint,mRadius原创 2021-07-16 00:07:34 · 2038 阅读 · 0 评论 -
QLineEdit限制输入数据类型
显示输入指定范围的整数,QIntValidator有时候限制不理想,正则表达式更合适。ui->lineEdit->setValidator(new QIntValidator(1,1000,this)); // [1,1000]范围内的整数输入ui->lineEdit->setValidator(new QDoubleValidator(0.1,0.9,2,this)); // [0.1,0.9],小数点后2位ui->lineEdit->setValidato原创 2021-07-16 00:01:31 · 415 阅读 · 0 评论 -
MdiArea实现多窗口与多部件
1 介绍 开发的上位机软件中需要在主窗口内部增加多个活动的子窗口,子窗口需要满足以下条件:能够像普通窗口一样放置任何部件,比如按钮,标签,文本框,编辑框,下拉菜单; 必须在主窗口内部,不允许移出去;这种情况下采用多文档窗口MDiArea类是可以的,官方例程及网上的大部分资料虽然都是基于建立多个窗口的文本编辑器,并没有给出子窗口放置任一部件的例子,但是官方文档中说明可以像普通窗口一样使用基于MdiArea的子窗口。2 主窗口放置MdiArea Qt设计师导航...原创 2021-07-15 23:53:23 · 3847 阅读 · 0 评论 -
QLabel控件通过代码创建
创建Label// [1]QLabel *label = new QLabel(); // include<QLabel>// [2]QLabel *label = new QLabel(tr("中文"));QLabel *label = new QLabel("English");//[3]QLabel *label = new QLabel(this);QLabel *label = new QLabel("English",this);字体颜色//[1]QL原创 2021-07-15 23:19:52 · 1717 阅读 · 0 评论