QT-主窗口

QT-主窗口

QAction

主窗口

 菜单栏:fileMenu = menuBar()->addMenu(tr("&File"));
工具栏:fileToolBar = addToolBar(tr("File"));
浮动窗:QDockWidget *dockWidget 
        = new QDockWidget(tr("Dock Widget"), this);
       addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
中央部件:setCentralWidget(te);
状态栏:statusBar()->addWidget(progress);

QFileDialog类

QFileDialog类是Qt框架提供的一个对话框类,用于在应用程序中打开和保存文件。它提供了用户友好的界面,用于选择文件和目录,以及设置文件过滤器和文件名称。

QFileDialog类的主要作用包括:

1. 打开文件对话框:可以使用QFileDialog选择一个或多个文件,并从中获取文件的路径或文件名。

2. 保存文件对话框:可以使用QFileDialog指定文件的保存路径和名称,并进行保存操作。

3. 选择目录对话框:可以使用QFileDialog选择一个目录,并从中获取目录的路径。

4. 文件过滤器:可以使用QFileDialog设置过滤器,以限制用户在对话框中显示的文件类型,例如只显示文本文件、图像文件等。

5. 自定义对话框:可以使用QFileDialog的静态函数,如getOpenFileName()、getSaveFileName()等,直接弹出一个标准的文件对话框,并获取用户的选择结果。

通过使用QFileDialog类,开发人员可以在Qt应用程序中方便地实现文件操作相关的功能,提供灵活和交互性的文件选择和保存交互界面。

QColorDialog类是Qt框架提供的一个对话框类,用于在应用程序中选择颜色。它提供了一个用户友好的界面,以便用户可以直观地选择所需的颜色。

QColorDialog类

QColorDialog类的主要作用包括:

1. 选择颜色:使用QColorDialog,用户可以从多种选择颜色的方式中选择颜色,如调整RGB、HSL、HSV等颜色空间的分量,通过选择预定义的颜色,或者通过颜色选择器选择自定义颜色。

2. 设置默认颜色:可以在打开QColorDialog之前设置默认颜色,以便在对话框中显示初始的颜色。

3. 获取选择的颜色:一旦用户选择了颜色,可以使用QColorDialog获取所选颜色的值,以便在应用程序中进行进一步的处理。

4. 自定义对话框:可以使用QColorDialog的静态函数,如getColor(),直接弹出一个标准的颜色对话框,并获取用户选择的颜色结果。

通过使用QColorDialog类,开发人员可以在Qt应用程序中实现颜色相关的功能,如选择、显示和处理颜色,以及提供灵活和交互性的颜色选择界面。

QAction类是Qt框架提供的一个类,用于创建和管理用户操作。它表示用户在应用程序中的动作,例如菜单项、工具栏按钮、快捷键等。

QAction类

QAction类的主要作用包括:

1. 创建用户操作:通过QAction类可以创建各种用户操作,如菜单项、工具栏按钮等。

2. 设置操作的文本和图标:可以设置QAction的文本和图标,显示在菜单项、工具栏按钮等界面元素上,以便用户理解和识别操作。

3. 设置操作的快捷键:可以为QAction设置快捷键,以便用户可以使用键盘快速触发操作。

4. 关联操作的信号和槽:可以将QAction的信号与槽函数关联起来,当用户执行该操作时,会触发相应的信号,从而执行槽函数进行相应的处理。

5. 设置操作的状态:可以设置QAction的状态,如是否可用、是否选中等,以便动态控制用户操作的状态。

6. 分组操作:可以将多个QAction对象组合成一个逻辑组,并进行管理和统一操作。

通过使用QAction类,开发人员可以方便地创建和管理用户操作,实现用户界面的交互性和功能性。它提供了丰富的功能和接口,可以与其他Qt类一起使用,如菜单、工具栏和信号槽机制等,以构建强大的用户界面和应用程序。

QTextEdit类是Qt框架提供的一个用于编辑富文本的文本编辑器类。它提供了一个可编辑的文本区域,允许用户输入、编辑和格式化文本。

QTextEdit类

QTextEdit类的主要作用包括:

1. 显示和编辑文本:QTextEdit提供了一个可视化的文本区域,用户可以在其中输入和编辑文本。它支持基本的文本操作,如插入、删除、复制、粘贴等。

2. 支持富文本格式:QTextEdit支持富文本格式,可以显示和编辑带有格式的文本,如字体样式、字体大小、颜色、对齐方式等。

3. 处理文本样式:QTextEdit允许设置和应用文本的样式,如字体、粗体、斜体、下划线等。

4. 处理光标和选择:QTextEdit提供了对光标和选择文本的操作,如设置光标位置、选择文本范围、获取选择的文本等。

5. 支持撤销和重做:QTextEdit支持撤销和重做操作,用户可以撤销之前的文本修改,并重新应用修改。

6. 自动换行和滚动:QTextEdit可以自动换行长文本,并提供滚动功能,以便用户可以查看和编辑超出可见区域的文本。

通过使用QTextEdit类,开发人员可以轻松地创建和管理文本编辑器,实现富文本的输入和编辑。它可以用于实现文本编辑器、富文本编辑器、日记本、聊天窗口等各种文本相关的界面和应用程序。

QLabel类是Qt框架提供的一个用于显示文本和图像的标签控件类。它用于在应用程序的用户界面中显示静态文本或图像。

QLabel类

QLabel类的主要作用包括:

1. 显示文本:QLabel可以显示静态文本,并支持基本的文本样式设置,如字体、颜色、对齐方式等。可以通过设置QLabel的文本属性来显示不同的文本内容。

2. 显示图像:QLabel可以显示静态图像,支持多种图像格式(如PNG、JPG等),可以通过设置QLabel的图像属性来显示不同的图像。

3. 自动调整大小:QLabel可以自动调整其大小以适应显示的文本或图像的大小。可以设置QLabel的大小策略,以便根据内容自动调整大小。

4. 布局和对齐:QLabel可以与其他Qt布局管理器一起使用,如QVBoxLayout、QHBoxLayout等,以便在应用程序的布局中正确放置和对齐标签。

5. 交互性:QLabel可以通过设置其鼠标跟踪和事件处理函数,实现与用户的交互。例如,可以通过单击QLabel,触发事件并执行相应操作。

通过使用QLabel类,开发人员可以方便地在Qt应用程序中显示静态文本和图像,实现信息展示、标签显示、图像显示等功能,并与其他Qt控件和布局管理器一起使用,以构建丰富的用户界面。

menuBar()是QWidget类的一个方法,用于获取窗口的菜单栏对象。在这行代码中,menuBar()返回的是当前窗口的菜单栏对象。

addMenu(tr("&File"))是QMenuBar类的一个方法,用于在菜单栏中添加一个新的菜单项。tr("&File")是Qt的国际化机制,用于对文本进行翻译以支持多语言。在这里,tr("&File")表示将字符串"&File"进行国际化处理。

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QAction>
#include <QTextEdit>
#include <QLabel>
#include <QFileDialog>
#include <QColorDialog>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
public slots:
    void openf()
    {
        QString filename = QFileDialog::getOpenFileName();
        te->setText(filename);
    }

    void copyf()
    {
        te->copy();
    }

    void pastf()
    {
        te->paste();
    }

    void setcf()
    {
        QColor ccc = QColorDialog::getColor();
        te->setTextColor(ccc);
    }
private:
    QAction *openfileact;//QAction是Qt框架中的一个类,用于表示用户界面中的动作或命令。QAction可以与菜单、工具栏、快捷键等进行关联,使得用户可以通过点击菜单项、工具栏按钮或按下快捷键来执行某个操作。


    //QAction类提供了一系列方法,用于设置和获取动作的各种属性,例如文本、图标、快捷键、状态等。同时,QAction还提供了信号与槽机制,使得可以在动作被触发时执行特定的逻辑代码。

    QAction *copyfileact, *pastfileact;

    QAction *setcoloract;

    //central
    QTextEdit *te;

    //status
    QLabel *slb;
};

#endif // MAINWINDOW_H
#include "mainwindow.h"
#include <QMenu>
#include <QMenuBar>
#include <QToolBar>
#include <QStatusBar>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //create actions
    openfileact = new QAction(QIcon("open.png"), "open");
    openfileact->setShortcut(QKeySequence(tr("Ctrl+O")));

    copyfileact = new QAction(QIcon("copy.png"),"copy");
    pastfileact = new QAction(QIcon("past.png"),"past");

    setcoloract = new QAction(QIcon("color.png"),"setcolor");

    //create meu
    QMenu *fileMenu = menuBar()->addMenu(tr("&File"));//menuBar()是QWidget类的一个方法,用于获取窗口的菜单栏对象。在这行代码中,menuBar()返回的是当前窗口的菜单栏对象。


   // addMenu(tr("&File"))是QMenuBar类的一个方法,用于在菜单栏中添加一个新的菜单项。tr("&File")是Qt的国际化机制,用于对文本进行翻译以支持多语言。在这里,tr("&File")表示将字符串"&File"进行国际化处理。
    fileMenu->addAction(openfileact);

    QMenu *editMenu = menuBar()->addMenu(tr("&Edit"));
    editMenu->addAction(copyfileact);
    editMenu->addAction(pastfileact);

    QMenu *setMenu = menuBar()->addMenu(tr("&Set"));
    setMenu->addAction(setcoloract);


    //create toolbars
    QToolBar *tfile = addToolBar("file");
    tfile->addAction(openfileact);
    QToolBar *tedit = addToolBar("edit");
    tedit->addAction(copyfileact);
    tedit->addAction(pastfileact);
    QToolBar *tset = addToolBar("set");
    tset->addAction(setcoloract);

    //cenctral
    te = new QTextEdit("hello");
    te->setMinimumSize(640, 480);
    setCentralWidget(te);

    //statures
    slb = new QLabel("1.txt*");
    QStatusBar *stb = statusBar();
    stb->addWidget(slb);

    connect(openfileact, SIGNAL(triggered(bool)), this, SLOT(openf()));
    connect(copyfileact, SIGNAL(triggered(bool)), this, SLOT(copyf()));
    connect(pastfileact, SIGNAL(triggered(bool)), this, SLOT(pastf()));
    connect(setcoloract, SIGNAL(triggered(bool)), this, SLOT(setcf()));

}

MainWindow::~MainWindow()
{

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值