0
对于我的应用程序,我需要多个常量变量,我有一个解决方案,但在我看来,我认为这不是正确的方法。在哪里声明const结构数组
我将展示我如何声明这一点,并希望对此有所评论或反馈。
文件:menu.h
#include <QDialog>
...
struct s_button {
int buttonNum;
QRect geometry;
QString iconFileName;
}
namespace Ui {
class Menu;
}
class Menu : public QDialog
{
Q_OBJECT
public:
...
}
文件:menu.cpp
#include "menu.h"
#include "ui_menu.h"
...
const s_button menuButtons[] =
{
{ 0, QRect(104,120,160,160), "VolumeUp.png" },
{ 1, QRect(104,300,160,160), "VolumeDown.png" },
{ 2, QRect(104,480,160,160), "Mute.png" }
};
...
//Constructor
Menu::Menu(QWidget *parent) :
QDialog(parent),
ui(new Ui::MenuDialog)
{
ui->setupUi(this);
....
}
void Menu::drawMenuButton()
{
uint s = sizeof(menuButtons)/sizeof(menuButtons[0]);
for(uint i=0; i<s; i++) {
drawImage(menuButtons[i].iconFileName, menuButtons[i].geometry);
}
....
}
这是正确的做法或有另一种方式来处理呢?在adavanced
“在我心中,我认为这不是正确的方法” - 我们不读心意。 *为什么你这么想? – WhozCraig
因为我的感觉,我认为这不是做这种声明的正确方法 – pjwl
这只是重复了你之前所说的。我们明白了,但**为什么**你认为呢? *必须有*理由*,否则你不会在这里发布,对吧?你为什么认为这样宣称是错误的? – WhozCraig