作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我浏览了控制台应用程序,我想做一些与此不同的事情,继续前进并做一些更有野心的事情。我的 friend 告诉我有关 ide Qt 的信息。一切进展顺利,直到我碰壁,这真的阻止了我在新的 IDE 中开发我的第一个应用程序。以前我使用过 Visual Studio,由于互联网上有大量的 walktroughs,我经常自己找到答案,但这次我放弃了!所以这是我第一次寻求帮助。我的应用程序应该是一个简单的计算器。问题是我不能让 QEditLine 对象显示由按钮表示的数字,它永远不会改变并显示 0。如果我使用设计模式它会起作用,并且都一样,并且 dgtClicked() 函数的定义是QT提供的示例中几乎相同。如果有任何建议和帮助,我将非常高兴。这真的很烦人,我真的不喜欢留下这样没有答案的问题。
#include "klk.h"
#include "ui_klk.h"
MainWindow::MainWindow(QWidget *parent) :
QWidget(parent)//,
// ui(new Ui::MainWindow)
{
//ui->setupUi(this);
dgtButton[0] = new QPushButton("&0");
dgtButton[1] = new QPushButton("&1");
dgtButton[2] = new QPushButton("&2");
dgtButton[3] = new QPushButton("&3");
dgtButton[4] = new QPushButton("&4");
dgtButton[5] = new QPushButton("&5");
dgtButton[6] = new QPushButton("&6");
dgtButton[7] = new QPushButton("&7");
dgtButton[8] = new QPushButton("&8");
dgtButton[9] = new QPushButton("&9");
for(int i =0;i<10;i++) {
connect(dgtButton[i], SIGNAL(clicked()),this,SLOT(dgtClicked()));
}
display = new QLineEdit("0");
display->setAlignment(Qt::AlignRight);
display->setMaxLength(15);
display->setReadOnly(true);
// centralWidget = new QWidget(this);
//this->setCentralWidget( centralWidget );
// layout = new QGridLayout( centralWidget );
layout = new QGridLayout;
layout->setSizeConstraint(QLayout::SetFixedSize);
layout->addWidget(display,0,0,1,3);
layout->addWidget(dgtButton[1],2,0);
layout->addWidget(dgtButton[2],2,1);
layout->addWidget(dgtButton[3],2,2);
layout->addWidget(dgtButton[4],3,0);
layout->addWidget(dgtButton[5],3,1);
layout->addWidget(dgtButton[6],3,2);
layout->addWidget(dgtButton[7],4,0);
layout->addWidget(dgtButton[8],4,1);
layout->addWidget(dgtButton[9],4,2);
setLayout(layout);
}
void MainWindow::dgtClicked()
{
QPushButton *clickedButton = qobject_cast<QPushButton *>(sender());
dgt = clickedButton->text().toInt();
this->display->setText(QString::number(dgt));
//display->displayText();
// display->show();
}
MainWindow::~MainWindow()
{
//delete ui;
}
#ifndef KLK_H
#define KLK_H
#include <QMainWindow>
#include <QPushButton>
#include <QWidget>
#include <QGridLayout>
#include <QHBoxLayout>
#include <QLineEdit>
#include <string>
namespace Ui {
class MainWindow;
}
class MainWindow : public QWidget
{
Q_OBJECT
QPushButton *dgtButton[10];
QPushButton *addButton,*subButton;
QGridLayout *layout;
QWidget *centralWidget;
QLineEdit *display;
int dgt;
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
// Ui::MainWindow *ui;
private slots:
void dgtClicked();
};
#endif // KLK_H
#-------------------------------------------------
#
# Project created by QtCreator 2014-04-30T15:37:36
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = klk
TEMPLATE = app
SOURCES += main.cpp\
klk.cpp
HEADERS += klk.h
FORMS += klk.ui
最佳答案
在将文本转换为整数之前去掉文本中的&
关于c++ - Qt 无法使 QEditLine 显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23397924/
我浏览了控制台应用程序,我想做一些与此不同的事情,继续前进并做一些更有野心的事情。我的 friend 告诉我有关 ide Qt 的信息。一切进展顺利,直到我碰壁,这真的阻止了我在新的 IDE 中开发我
我正在尝试对 QEditLine 进行子类化,以便我可以定义一个发送对象标识符的新 SIGNAL。目前,我将一个父信号连接到新类中的一个插槽,然后从该插槽发出一个带有附加对象标识符的正确新信号。我无法
我是一名优秀的程序员,十分优秀!