gpt4 book ai didi

c++ - Qt - 创建图标按钮

转载 作者:行者123 更新时间:2023-12-01 14:41:28 24 4
gpt4 key购买 nike

我正在尝试创建类似于在 Google map 上放大、缩小的按钮;我想要和图标一样大的按钮:

http://codegeekz.com/wp-content/uploads/google-maps-jquery.jpg

(我很抱歉没有发布图片,显然没有足够的声誉)。

我正在尝试使用 QAction,但由于某种原因,按钮没有出现。我已经使用 QAction 在另一个项目中创建按钮,但复制所有相关代码并没有被证明是成功的(实例根本没有出现)。这些是要点:

主窗口.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QAction>

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
MainWindow(QWidget *parent = 0);

protected slots:
void addEntry();

private:
QAction *addButton;
};
#endif // MAINWINDOW_H

主窗口.cpp

#include "mainwindow.h"
#include <QHBoxLayout>

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
QWidget *window = new QWidget;
QVBoxLayout *container = new QVBoxLayout();

//Horizontal add/subtract layout------------------------------------

QHBoxLayout *layer1 = new QHBoxLayout();

QAction *addButton = new QAction((QIcon("/home/kyle/Desktop/add1.png")),"Add Entry", this);

addAction(addButton);

connect(addButton, SIGNAL(triggered()), this, SLOT(addEntry()));

//Scroll Layout------------------------------------

QHBoxLayout *layer2 = new QHBoxLayout();
...

container->addLayout(layer1);
container->addLayout(layer2);

window->setLayout(container);
setCentralWidget(window);
}

void
MainWindow::addEntry(){
...
}

我有:

  • 尝试在空白小部件上使用 addAction() 并将其添加到布局中。
  • 在 .h 文件中声明 QAction 对象(使用 QPainter 的常见问题)
  • 尝试使用 QPushButton(非常丑陋但有效。)

任何关于错误的想法,或对其他类似按钮的对象的建议都将受到赞赏。也可以随意提问。最终,我希望创建的按钮是我可以使用 QHBoxLayout 操作的小部件。

最佳答案

  1. 当你调用addAction(addButton);时,你打算在哪里添加 Action 。示例:ui->mainToolBar->addAction(addButton);

  2. QPushButton 将满足您的要求。您可以使用样式表设置按钮的样式。

示例:

    QPushButton *addButton = new QPushButton(QIcon(":/plus.png"),"");
QString buttonStyle = "QPushButton{border:none;background-color:rgba(255, 255, 255,100);}";
addButton->setStyleSheet(buttonStyle); // Style sheet
addButton->setIconSize(QSize(50,50));
addButton->setMinimumSize(50,50);
addButton->setMaximumSize(50,50);
layer1->addWidget(addButton);// The horizontal layout
  1. 您可以引用 Qt 中的样式表示例 here

关于c++ - Qt - 创建图标按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31580362/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com