Qt控件----显示窗口部件

2023-11-09

显示窗口部件

Qt Designer 显示窗口部件提供的面板中,提供了 10 种显示小部件。在 Qt5.5 以前的 Qt5 版本这个显示窗口部件还有一个 QWebview 部件,在 Qt5.6 开始就被移除了,取而代之的是QWebengine,但是 QWebengine 不是以小部件的形式在这个显示窗口部件里显示。
在这里插入图片描述

(1) Label:标签
(2) Text Browser:文本浏览器
(3) Graphics View:图形视图
(4) Calendar Widget:日历
(5) LCD Number:液晶数字
(6) Progress Bar:进度条
(7) Horizontal Line:水平线
(8) Vertial Line:垂直线
(9) OpenGL Widget:开放式图形库工具
(10) QQuick Widget:嵌入式 QML 工具

这十种显示部件作用简介如下:

QLabel提供了一种用于文本或图像显示的小部件,在前4.1与4.2某些小节已经出现过Label控件,只用了它显示文本,其实它还可以用于显示图像。
QCalendarWidget 继承 QWidget。QCalendarWidget 类提供了一个基于月的日历小部件,允许用户选择日期。CalendarWidget 小部件是用当前月份和年份初始化的,QCalendarWidget 还提供了几个公共插槽来更改显示的年份和月份。
QLCDNumber 继承 QFrame。QLCDNumber 小部件显示一个类似于 lcd 的数字。QLCDNumber 小部件可以显示任意大小的数字。它可以显示十进制、十六进制、八进制或二进制数字。使用 display()插槽很容易连接到数据源,该插槽被重载以接受五种参数类型中的任何一种。
QProgressBar 继承 QWidget。QProgressBar 小部件提供了一个水平或垂直的进度条。进度条用于向用户显示操作的进度,并向他们确认应用程序仍在运行。
QFrame 继承 QWidget。QFrame 类是有框架的窗口部件的基类,它绘制框架并且调用一个虚函数 drawContents()来填充这个框架。这个函数是被子类重新实现的。这里至少还有两个有用的函数:drawFrame()和 frameChanged()。
QTextBrowser 继承 QTextEdit,QTextBrowser 类提供了一个具有超文本导航的文本浏览器。该类扩展了 QTextEdit(在只读模式下),添加了一些导航功能,以便用户可以跟踪超文本文档中的链接。
QGraphicsView 继承 QAbstractScrollArea。QGraphicsView 是图形视图框架的一部分,它提供了基于图元的模型/视图编程。QGraphicsView在可滚动视图中可视化QGraphicsScene的内容。
要创建带有几何项的场景,请参阅 QGraphicsScene 的文档。
要可视化场景,首先构造一个 QGraphicsView 对象,将要可视化的场景的地址传递给 QGraphicsView 的构造函数。或者,可以调用 setScene()在稍后设置场景。
Text Browser (文本浏览器)、Graphics View(图形视图)、OpenGL Widget(开放式图形库工具)、QQuick Widget(嵌入式 QML 工具)将不在本小节介绍,其中 Text Browser (文本浏览器)、GraphicsView(图形视图)在 下面显示窗口之浏览器介绍。

一、QLabel

1. 控件简介

QLabel 提供了一种用于文本或图像显示的小部件,在前已经出现过Label 控件,只用了它显示文本,其实它还可以用于显示图像

2. 用法示例

例 22_qlbel 标签显示图像或文本(难度简单),前面已经在某些小节出现过 label 了,但只是用来显示文本内容,实际上像 button(按钮),widget,label 等都是可以用来显示图像的。只是 button 不常用来显示单张图像,因为 button 是有三种状态,分别是按下,释放,悬停。所以它不常用于单单显示一张图像。

在新建例程中不要勾选“Generate form”,默认继承 QMainWindow 类即可。项目新建完成如下图。
在这里插入图片描述
本例已经添加一张资源图片。添加完成如下图。
在这里插入图片描述
在头文件“mainwindow.h”具体代码如下。

1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include <QMainWindow>
5 #include <QLabel>
6
7 class MainWindow : public QMainWindow
8 {
9 Q_OBJECT
10
11 public:
12 MainWindow(QWidget *parent = nullptr);
13 ~MainWindow();
14
15 private:
16 /* 用一个 QLabel 对象用于显示字符串 */
17 QLabel *labelString;
18
19 /* 用一个 QLabel 对象用于显示图像 */
20 QLabel *labelImage;
21 };
22 #endif // MAINWINDOW_H

在源文件“mainwindow.cpp”具体代码如下。

1 #include "mainwindow.h"
2
3 MainWindow::MainWindow(QWidget *parent)
4 : QMainWindow(parent)
5 {
6 /* 设置大小与位置 */
7 this->setGeometry(0, 0, 800, 480);
8
9 /* 使用资源里的文件时格式是 :+前缀+文件路径 */
10 QPixmap pixmap(":images/openedv.png");
11
12 labelImage = new QLabel(this);
13
14 /* 标签大小为 452×132,根据图像的大小来设置 */
15 labelImage->setGeometry(180, 150, 452, 132);
16 /* 设置图像 */
17 labelImage->setPixmap(pixmap);
18 /* 开启允许缩放填充 */
19 labelImage->setScaledContents(true);
20
21 labelString = new QLabel(this);
22 labelString->setText("标签演示文本");
23 labelString->setGeometry(300, 300, 100, 20);
24 }
25
26 MainWindow::~MainWindow()
27 {
28 }

在源文件“main.cpp”具体代码由新建项目时生成,无改动。

3. 运行效果

程序编译运行的结果如下。为了避免引起图像被压缩或者拉伸,本次设置标签的大小为452*132,这是根据图像的实际大小来设置的。
在这里插入图片描述

二、QCalendarWidget

1. 控件简介

QCalendarWidget 继承 QWidget。QCalendarWidget 类提供了一个基于月的日历小部件,允许用户选择日期。CalendarWidget 小部件是用当前月份和年份初始化的,QCalendarWidget 还提供了几个公共插槽来更改显示的年份和月份。

2. 用法示例

例 23_qcalendarwidget 日历简单的使用(难度:简单),本例只是简单的使用日历控件来达到一定的效果。使用一个 CalendarWidget 控件,一个 Label 来显示当前日历所选择的日期,一个 pushButton 按钮,点击 pushButton 按钮来回到当前系统的日期。

在新建例程中不要勾选“Generate form”,默认继承 QMainWindow 类即可。项目新建完成如下图。

在这里插入图片描述
在头文件“mainwindow.h”具体代码如下。

1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include <QMainWindow>
5 #include <QCalendarWidget>
6 #include <QPushButton>
7 #include <QLabel>
8
9 class MainWindow : public QMainWindow
10 {
11 Q_OBJECT
12
13 public:
14 MainWindow(QWidget *parent = nullptr);
15 ~MainWindow();
16
17 private:
18 /* 声明 QCalendarWidget,QPushButton,QLabel 对象 */
19 QCalendarWidget *calendarWidget;
20 QPushButton *pushButton;
21 QLabel *label;
22
23 private slots:
24 /* 槽函数 */
25 void calendarWidgetSelectionChanged();
26 void pushButtonClicked();
27
28 };
29 #endif // MAINWINDOW_H

在源文件“mainwindow.cpp”具体代码如下

1 #include "mainwindow.h"
2
3 MainWindow::MainWindow(QWidget *parent)
4 : QMainWindow(parent)
5 {
6 /* 设置位置与大小,下同 */
7 this->setGeometry(0, 0, 800, 480);
8
9 /* 对象实例化设置显示的位置与大小 */
10 calendarWidget = new QCalendarWidget(this);
11 calendarWidget->setGeometry(200, 20, 400, 300);
12
13 QFont font;
14 /* 设置日历里字体的大小为 10 像素 */
15 font.setPixelSize(10);
16 calendarWidget->setFont(font);
17
18 /* 对象实例化设置显示的位置与大小 */
19 pushButton = new QPushButton("回到当前日期",this);
20 pushButton->setGeometry(200, 350, 100, 30);
21
22 /* 对象实例化设置显示的位置与大小 */
23 label = new QLabel(this);
24 label->setGeometry(400, 350, 400, 30);
25 QString str = "当前选择的日期:"
26 + calendarWidget->selectedDate().toString();
27 label->setText(str);
28
29 /* 信号槽连接 */
30 connect(calendarWidget, SIGNAL(selectionChanged()),
31 this, SLOT(calendarWidgetSelectionChanged()));
32 connect(pushButton, SIGNAL(clicked()),
33 this, SLOT(pushButtonClicked()));
34 }
35
36 MainWindow::~MainWindow()
37 {
38 }
39
40 void MainWindow::calendarWidgetSelectionChanged()
41 {
42 /* 当日历点击改变当前选择的期时,更新 Label 的显示内容 */
43 QString str = "当前选择的日期:"
44 + calendarWidget->selectedDate().toString();
45 label->setText(str);
46 }
47
48 void MainWindow::pushButtonClicked()
49 {
50 /* 设置当前选定的日期为系统的 QDate */
51 calendarWidget->setSelectedDate(QDate::currentDate());
52 }
53

在源文件“main.cpp”具体代码由新建项目时生成,无改动。

3. 运行效果

程序编译运行的结果如下。当程序运行后,可以通过点击鼠标或键盘来改变当前选定的日期,label 标签则会改变为当前选定的日期,当点击回到当前日期按钮后,日历会改变当前选定的日期并且把当前选定的日期改变为系统当前的日期。拓展:可以用日历来设置生日,日期提醒等,还可以做成一个华丽的系统日历界面等。
在这里插入图片描述

三、QLCDNumber

1. 控件简介

QLCDNumber 继承 QFrame。QLCDNumber 小部件显示一个类似于 lcd 的数字。QLCDNumber 小部件可以显示任意大小的数字。它可以显示十进制、十六进制、八进制或二进制数字。使用 display()插槽很容易连接到数据源,该插槽被重载以接受五种参数类型中的任何一种。

2. 用法示例

例 24_qlcdnumber, LCDNumber 时钟(难度:简单),使用一个 LCDNumber 控件作时钟的显示,一个定时器定时更新 LCDNumber 的时间。

在新建例程中不要勾选“Generate form”,默认继承 QMainWindow 类即可。项目新建完成如下图。
在这里插入图片描述
在头文件“mainwindow.h”具体代码如下。

1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include <QMainWindow>
5 #include <QMainWindow>
6 #include <QLCDNumber>
7 #include <QTimer>
8 #include <QTime>
9
10 class MainWindow : public QMainWindow
11 {
12 Q_OBJECT
13
14 public:
15 MainWindow(QWidget *parent = nullptr);
16 ~MainWindow();
17
18 private:
19 /* 声明 QLCDNumber 对象 */
20 QLCDNumber *lcdNumber;
21
22 /* 声明 QTimer 对象 */
23 QTimer *timer;
24
25 private slots:
26 /* 槽函数 */
27 void timerTimeOut();
28
29 };
30 #endif // MAINWINDOW_H

在源文件“mainwindow.cpp”具体代码如下。

1 #include "mainwindow.h"
2
3 MainWindow::MainWindow(QWidget *parent)
4 : QMainWindow(parent)
5 {
6 /* 设置主窗体的大小与位置 */
7 this->setGeometry(0, 0, 800, 480);
8
9 /* 实例化与设置显示的位置大小*/
10 lcdNumber = new QLCDNumber(this);
11 lcdNumber->setGeometry(300, 200, 200, 50);
12
13 /* 设置显示的位数 8 位 */
14 lcdNumber->setDigitCount(8);
15 /* 设置样式 */
16 lcdNumber->setSegmentStyle(QLCDNumber::Flat);
17
18 /* 设置 lcd 显示为当前系统时间 */
19 QTime time = QTime::currentTime();
20
21 /* 设置显示的样式 */
22 lcdNumber->display(time.toString("hh:mm:ss"));
23
24 timer = new QTimer(this);
25 /* 设置定时器 1000 毫秒发送一个 timeout()信号 */
26 timer->start(1000);
27
28 /* 信号槽连接 */
29 connect(timer, SIGNAL(timeout()), this,
30 SLOT(timerTimeOut()));
31
32 }
33
34 MainWindow::~MainWindow()
35 {
36 }
37
38 void MainWindow::timerTimeOut()
39 {
40 /* 当定时器计时 1000 毫秒后,刷新 lcd 显示当前系统时间 */
41 QTime time = QTime::currentTime();
42 /* 设置显示的样式 */
43 lcdNumber->display(time.toString("hh:mm:ss"));
44 }

在源文件“main.cpp”具体代码由新建项目时生成,无改动。

3. 运行效果

程序编译运行的结果如下。程序运行后,可以看到时间为当前系统的时间, LCDNumber时钟显示系统时钟的时钟并运行着。
在这里插入图片描述

四、QProgressbar

1. 控件简介

QProgressBar 继承 QWidget。QProgressBar 小部件提供了一个水平或垂直的进度条。进度条用于向用户显示操作的进度,并向他们确认应用程序仍在运行。

2. 用法示例

例 25_qprogressbar,手机电池充电。用一个 QProgressBar 模拟手机电池充电。

在新建例程中不要勾选“Generate form”,默认继承 QMainWindow 类即可。项目新建完成如下图。
在这里插入图片描述
本例已经添加一张电池的背景图资源图片。添加完成如下图。
在这里插入图片描述
在头文件“mainwindow.h”具体代码如下。

1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include <QMainWindow>
5 #include <QProgressBar>
6 #include <QTimer>
7
8 class MainWindow : public QMainWindow
9 {
10 Q_OBJECT
11
12 public:
13 MainWindow(QWidget *parent = nullptr);
14 ~MainWindow();
15
16 private:
17 /* 声明对象 */
18 QProgressBar *progressBar;
19 QTimer *timer;
20
21 /* 用于设置当前 QProgressBar 的值 */
22 int value;
23
24 private slots:
25 /* 槽函数 */
26 void timerTimeOut();
27
28 };
29 #endif // MAINWINDOW_H

在源文件“mainwindow.cpp”具体代码如下。

1 #include "mainwindow.h"
2
3 MainWindow::MainWindow(QWidget *parent)
4 : QMainWindow(parent)
5 {
6 /* 设置主窗体位置与大小 */
7 this->setGeometry(0, 0, 800, 480);
8
9 progressBar = new QProgressBar(this);
10 progressBar->setGeometry(300, 200, 200, 60);
11
12 /*样式表设置,常用使用 setStyleSheet 来设置样式(实现界面美化的功能),
13 * 具体可参考 styleSheet */
14 progressBar->setStyleSheet (
15 "QProgressBar{border:8px solid #FFFFFF;"
16 "height:30;"
17 "border-image:url(:/images/battery.png);" //背景图片
18 "text-align:center;" // 文字居中
19 "color:rgb(255,0,255);"
20 "font:20px;" // 字体大小为 20px
21 "border-radius:10px;}"
22 "QProgressBar::chunk{"
23 "border-radius:5px;" // 斑马线圆角
24 "border:1px solid black;" // 黑边,默认无边
25 "background-color:skyblue;"
26 "width:10px;margin:1px;}" // 宽度和间距
27 );
28
29 /* 设置 progressBar 的范围值 */
30 progressBar->setRange(0, 100);
31 /* 初始化 value 为 0 */
32 value = 0;
33 /* 给 progressBar 设置当前值 */
34 progressBar->setValue(value);
35 /* 设置当前文本字符串的显示格式 */
36 progressBar->setFormat("充电中%p%");
37
38 /* 定时器实例化设置每 100ms 发送一个 timeout 信号 */
39 timer = new QTimer(this);
40 timer->start(100);
41
42 /* 信号槽连接 */
43 connect(timer, SIGNAL(timeout()),
44 this, SLOT(timerTimeOut()));
45 }
46
47 MainWindow::~MainWindow()
48 {
49 }
50
51 void MainWindow::timerTimeOut()
52 {
53 /* 定显示器时间到,value 值自加一 */
54 value ++;
55 progressBar->setValue(value);
56 /* 若 value 值大于 100,令 value 再回到 0 */
57 if(value>100)
58 value = 0;
59 }

在源文件“main.cpp”具体代码新建项目时生成,无改动。

3. 运行效果

程序编译运行的结果如下。程序运行后,可以看到在定时器的作用下,电池一直在充电,充到 100%,又重新回到 0%重新充电。QProgressBar 一般用于表示进度,常用于如复制进度,打开、加载进度等。
在这里插入图片描述

五、QFrame

1. 控件简介

QFrame 继承 QWidget。QFrame 类是有框架的窗口部件的基类,它绘制框架并且调用一个虚函数 drawContents()来填充这个框架。这个函数是被子类重新实现的。这里至少还有两个有用的函数:

drawFrame()和 frameChanged()。

QPopupMenu 使用这个来把菜单“升高”,高于周围屏幕QProgressBar 有“凹陷”的外观。QLabel 有平坦的外观。这些有框架的窗口部件可以被改变。

QFrame::Shape 这个枚举类型定义了 QFrame 的框架所使用的外形。当前定义的效果有:

 NoFrame - QFrame 不画任何东西
 Box - QFrame 在它的内容周围画一个框
 Panel - QFrame 画一个平板使内容看起来凸起或者凹陷
 WinPanel - 像 Panel,但 QFrame 绘制三维效果的方式和 Microsoft Windows 95(及其它)的一样
 ToolBarPanel - QFrame 调用 QStyle::drawToolBarPanel()
 MenuBarPanel - QFrame 调用 QStyle::drawMenuBarPanel()
 HLine - QFrame 绘制一个水平线,但没有框任何东西(作为分隔是有用的)
 VLine - QFrame 绘制一个竖直线,但没有框任何东西(作为分隔是有用的)
 StyledPanel - QFrame 调用 QStyle::drawPanel()
 PopupPanel - QFrame 调用 QStyle::drawPopupPanel()
阴影风格有:
 Plain 使用调色板的前景颜色绘制(没有任何三维效果)。
 Raised 使用当前颜色组的亮和暗颜色绘制三维的凸起线。
 Sunken 使用当前颜色组的亮和暗颜色绘制三维的凹陷线。

2. 用法示例

例 26_qframe,水平/垂直线(难度:简单),定义两个 QFrame 对象,实例化后设置成一条水平样式,一条垂直样式。实际上 Display Widgets 里的 Horizontal Line/Vertical Line 是 QFrame已经封装好的控件,也可以通过下面的例子来实现不同的效果。

在新建例程中不要勾选“Generate form”,默认继承 QMainWindow 类即可。项目新建完成如下图。
在这里插入图片描述
在头文件“mainwindow.h”具体代码如下

1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
3
4 #include <QMainWindow>
5 #include <QFrame>
6
7 class MainWindow : public QMainWindow
8 {
9 Q_OBJECT
10
11 public:
12 MainWindow(QWidget *parent = nullptr);
13 ~MainWindow();
14
15 private:
16 /* 声明对象 */
17 QFrame *hline;
18 QFrame *vline;
19
20 };
21 #endif // MAINWINDOW_H

在源文件“mainwindow.cpp”具体代码如下。

1 #include "mainwindow.h"
2
3 MainWindow::MainWindow(QWidget *parent)
4 : QMainWindow(parent)
5 {
6 /* 设置主窗体的显示位置与大小 */
7 this->setGeometry(0, 0, 800, 480);
8
9 /* 实例化 */
10 hline = new QFrame(this);
11 /* 确定起始点,设置长和宽,绘制距形 */
12 hline->setGeometry(QRect(200, 100, 400, 40));
13
14 /* 设置框架样式为 Hline,水平,可设置为其他样式例如 Box,
15 * 由于是样式选择 HLine,所以只显示一条水平直线
16 */
17 hline->setFrameShape(QFrame::HLine);
18 /* 绘制阴影 */
19 hline->setFrameShadow(QFrame::Sunken);
20
21 /* 实例化 */
22 vline = new QFrame(this);
23 /* 确定起始点,设置长和宽,绘制距形 */
24 vline->setGeometry(QRect(300, 100, 2, 200));
25
26 /* 设置框架样式为 Vline,垂直,可设置为其他样式例如 Box,
27 * 由于是样式选择 Vline,所以只显示一条垂直直线
28 */
29 vline->setFrameShape(QFrame::VLine);
30 /* 绘制阴影 */
31 vline->setFrameShadow(QFrame::Sunken);
32 }
33
34 MainWindow::~MainWindow()
35 {
36 }

在源文件“main.cpp”具体代码由新建项目时生成,无改动。

3. 运行效果

程序编译运行的结果如下。在窗口中央出现一条垂直的直线和一条水平的直线。可以用QFrame 来绘制一些比较好看的边框等,用作美化界面。QFrame 类是所有框架的窗口部件的基类,所以像 QLabel 这种见的控件也可以设置成独特的边框样式。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt控件----显示窗口部件 的相关文章

  • QMutex 是否需要是静态的,以便此类实例的其他线程调用知道暂停其操作?

    从多个线程调用以下附加函数 我不希望数据重写附加 因为计数器尚未增加 除了当前使用 Append 的线程之外 这是否会挂起所有进入的线程 或者其他线程会继续运行而不追加数据吗 互斥锁是否需要是 静态 的 或者每个实例都知道要暂停操作吗 如果
  • 第一次信号发射后自动断开

    我正在从文件加载网页 然后替换其中的一些 html self template web page QtWebKit QWebPage self template web page mainFrame load QtCore QUrl tem
  • Qt 为什么使用 QString::number() 而不是 QLocale().toString()?

    我正在开发的应用程序将在许多国家推出 并且需要支持他们的语言 我一直在回顾我的代码并替换以下每个实例 QString number and QString toDouble with QLocale toString and QLocale
  • QML 中可重用的字体属性[重复]

    这个问题在这里已经有答案了 在 QML 中 我希望能够定义一组字体属性以进行简单的语义重用 例如 代替 Text text This is a header font family Encode Sans weight Font Black
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • 如何在 Qt 应用程序中嵌入 Python 解释器?

    有没有一种简单的方法可以将 Python 解释器嵌入到 Qt 应用程序中 如果可能的话 我希望有一个跨平台的解决方案 这就是目的PythonQt http pythonqt sourceforge net 它支持 Windows Linux
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • 针对初学者的 QT 商业许可证与非商业许可证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 QT 许可似乎非常反学习 因为据我所知 用它开发的任何东西都只能是商业的当且仅当 its entire开发是在使用商业许可证的情况下完成的
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • Q风格所有权

    在 Qt 应用程序中使用样式时 我遇到了一个有趣的问题QStyle所有权 QStyle继承自QObject 通常接受QObject parent作为构造函数参数来管理其子级的生命周期 但QStyle的构造函数没有此构造函数参数 第一个问题
  • 为什么 QT 设计器重新调整大小或不允许我缩小或展开小部件或按钮?

    很多时候 在使用 QT 设计器时 我发现自己需要通过缩小或扩展来调整事物的大小 每当我尝试这样做时 程序都不允许我这样做 而只是恢复到将对象放置在窗口中时给我的原始默认大小 无论我的布局如何 为什么要这样做 是否有可能改变这一点 以便我可以
  • QObject 通用信号处理程序

    信号处理程序 是指插槽 而不是 POSIX 信号的处理程序 我需要 连接 可能不会 using QObject connect直接地 所有信号从 QObject 的 未知 子类的实例到一个单槽另一个 QObject 的 我需要这个才能通过网
  • 在 Qt GraphicsView 中创建长线(或十字线)光标的最佳方法

    创建长十字线光标 与视口一样长 的简单方法是创建一条十字线graphicsItem 当鼠标移动时 设置该项目的pos财产 但是当场景复杂时这种方式会很慢 因为它要更新整个视口来更新光标的pos 另一种简单的方法是setCursor QCur
  • Qt 相当于 .NET 数据绑定吗?

    Qt 中是否有相当于 NET 数据绑定的功能 我想使用引用数据库中特定实体的 QString 填充一些组合框和其他小部件 但是 如果我可以将数据绑定到这些字符串 而不是基于新的组合框选择再次查询数据库 或者基于构建我自己的将使用 QStri
  • CMake AUTOMOC,文件位于不同文件夹中

    我有一个简单的 CMake 项目 proj project folder a h a cpp CMakeLists txt CMakeLists txt cmake minimum required VERSION 3 2 set CMAK
  • 为什么动态 qml 对象的创建如此缓慢,有哪些合理的替代方案?

    我想要实现的目标类似于棋盘游戏 有一个100 100的网格 放在一个Item它驻留在一个Flickable 游戏板 的各个矩形都是 svg 图像 目前大约有 20 种 可能会增加到数百种 作为基准测试 我只是尝试用元素填充 世界 Compo
  • 如何为 Windows 安装开源 Qt 库 5 二进制版本

    这个问题具体是关于Qt libraries 5 0 0 for Windows VS 2010 406 MB at http qt project org downloads http qt project org downloads 但我
  • 相对文件路径的区别:Qt Creator的调试模式和发布模式

    QFile file test txt if file open QIODevice ReadOnly qDebug lt lt You got me 我在用 Qt 4 8 6 与 MSVC 2010 Qt 创建者 3 1 1 Window
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se

随机推荐

  • MFC ListBox Control用法

    1添加数据 声明控件变量的类别为Control 变量类型为CListBox 变量名为m ListBox Content m ListBox Content AddString T 123 m ListBox Content AddStrin
  • 2.7 const 、指向类成员

    Const 1 const修饰变量的时候 初始化只能在初始化列表和类内 2 const修饰类内成员函数的时候 该成员函数不能修改类内的变量 除非变量有mutable修饰 3 const修饰一个对象 该对象叫做常对象 且只能调用const成员
  • arm-linux—gcc如何下载安装

    ubuntu下交叉编译环境构建 arm linux gcc 4 4 3 20100728 tar gz 1 下载arm linux gcc 4 4 3 20100728 tar gz到任意的目录下 arm linux gcc 4 4 3 2
  • docker 修改镜像和容器的存放路径

    docker info 查看docker的存储等相关信息 将路径修改至挂载磁盘中 前提 磁盘已挂载成功 方法一 1 停止docker 服务 service docker stop 2 备份数据到新的存放路径 cp r var lib doc
  • C++算法之深度优先搜索算法详解

    1 深度优先搜索算法 深度优先搜索是一种在开发爬虫早期使用较多的方法 它的目的是要达到被搜索结构的叶结点 即那些不包含任何超链的HTML文件 在一个HTML文件中 当一个超链被选择后 被链接的HTML文件将执行深度优先搜索 即在搜索其余的超
  • 1、hilens虚拟docker中-ros程序编译说明

    该文档主要用于在ubuntu机子上面编译ros库 当编译成功后 将整个文件夹的库拷贝至HiLens Kit 上面进行运行 这里注意 不能使用windows10的WSL 进行操作 在执行如下指令前 请确保ubuntu上面的docker能够正常
  • 深度全解卷积神经网络(附论文)

    第一章 引言 一 本文动机 过去几年 计算机视觉研究主要集中在卷积神经网络上 通常简称为 ConvNet 或 CNN 在大量诸如分类和回归任务上已经实现了目前为止最佳的表现 尽管这些方法的历史可以追溯到多年前 但相对而言 对这些方法的理论理
  • 二进制中1的个数

    来源 我是码农 转载请保留出处和链接 本文链接 http www 54manong com id 1231 题目描述 输入一个整数 输出该数二进制表示中1的个数 其中负数用补码表示 时间限制 1秒 空间限制 32768K 直接上代码吧 in
  • 使用ab对tornado进行压力测试

    ab使用命令 ab c 20 n 1000 http localhost 8000 c 并发数 n 请求总数 测试环境 1G内存 单CPU单核 虚拟机ubuntu 测试结果 Server Software TornadoServer 5 0
  • 单变量线性回归(Linear Regression with One Variable)

    声明 本文来源于该部分为斯坦福大学 2014 机器学习教程整理对应的笔记 1 1 模型表示 我们的第一个学习算法是线性回归算法 在这段视频中 你会看到这个算法的概况 更 重要的是你将会了解监督学习过程完整的流程 让我们通过一个例子来开始 这
  • 电商峰值系统架构设计

    1 1 系统架构设计目录 摘要 双11来临之际 程序员 以 电商峰值系统架构设计 为主题 力邀京东 当当 小米 1号店 海尔商城 唯品会 蘑菇街 麦包包等电商企业 及商派 基调网络等服务公司 分享电商峰值系统架构设计的最佳技术实践 自200
  • vscode远程控制Ubuntu(remote -ssh)

    我以往做嵌入式 一般都要在Ubuntu下进行开发 进行文件传输的时候 又要回到windows下进行操作 来回操作两台电脑 设备 实在有些麻烦 不过VScode下有个插件remote ssh 可以远程访问其他带ssh的设备 下面对该插件的安装
  • [进阶]Java:static:应用知识-代码块

    代码块概述 代码块是类的5大成分之一 成员变量 构造器 方法 代码块 内部类 定义在类中方法外 在Java类中 使用 括起来的代码被成为代码块 代码块分为 1 静态代码块 格式 static 特点 需要通过static关键字修饰 随着类的加
  • delete与注入逻辑

    即使百般不顺仍期望万事顺意 Mysql注入 Delete基本使用 DELETE关联删除 注入删除 Delete基本使用 1 删除指定的用户 DELETE FROM users where uname hxt 2 删除所有记录 DELETE
  • spring boot中yml配置文件里横线的意思

    想要在yml配置文件中增加集合类型属性的话 需要用横线 进行分割 例如
  • 云安全技术——搭建VPN

    目录 二 VPN简介 三 规划实训环境和网络拓扑 配置VPN服务器 五 VPN网络客户端的配置 六 远程访问VPN的检测 二 VPN简介 VPN Virtual Private Network 是一种可以在公共网络上建立安全连接的技术 VP
  • cv2.threshold() 阈值:使用Python,OpenCV进行简单的图像分割

    图像分割有多种形式 聚类 压缩 边缘检测 区域增长 图分区 分水岭等等 Clustering Compression Edge detection Region growing Graph partitioning Watershed Th
  • table2excel 导出真分页数据如何处理1

    table2excel 导出真分页数据如何处理 首先导入js div class ui edit buttons div
  • python中的一些小trick

    1 set用处 个人之前一直没怎么用过set 直到今天我在写一段代码的时候发现in关键字和set对象简直天生一对 a list if b in a 上面这段代码相信大家都写过 但如果将list对象转换成为set 那么代码速度将大大提升 本质
  • Qt控件----显示窗口部件

    文章目录 显示窗口部件 一 QLabel 1 控件简介 2 用法示例 3 运行效果 二 QCalendarWidget 1 控件简介 2 用法示例 3 运行效果 三 QLCDNumber 1 控件简介 2 用法示例 3 运行效果 四 QPr