我正在使用Qt进行大学的作业,我想用它QTabWidget来显示一个像Pidgin一样的聊天窗口.我想让"群聊"标签始终打开,无法关闭,其余的"私人频道"标签可以关闭.
QTabWidget的setTabsClosable(bool)是没有帮助.
有任何想法吗?
基本上我QGridLayout有一些小部件.重要的是2个标签,我用它们将图像绘制到屏幕上.好吧,如果用户想要,他可以改变传入图像的分辨率,从而迫使标签调整大小.
我们假设标签的初始大小是320x240.用户将VideoMode更改为640x480,标签和整个GUI完美调整大小.但是当用户切换回时320x240,标签会缩小,但布局/窗口不会缩小.
我打得四处sizePolicies和sizeHints和resize(0,0),但没有做的伎俩.有人可以帮我这个吗?
这里有一些截图来澄清问题:

在Qt中,我试图设置一个QTimer每秒调用一个名为"更新"的函数.这是我的.cpp文件:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTimer>
#include "QDebug"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::update()
{
qDebug() << "update";
}
Run Code Online (Sandbox Code Playgroud)
主要:
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
该项目正在构建,但它没有执行更新,因为"更新"行没有显示在任何地方......有人看到我做错了吗?
我想在Eclipse IDE中开始用Qt开发一个新的C++应用程序.我从诺基亚读到了一个Qt集成插件,但是无法找到它下载,也没有任何官方声明是否已经停止或重命名.
是否还有Eclipse的Qt GUI插件?
我刚刚从英文下载网站http://qt.nokia.com/downloads下载并安装了我的英文Windows 7系统上的Qt Creator 1.3.1.然而,显然,Qt Creator的UI是用德语写的,尽管有帮助文件是英文的.
来自http://www.qt.gitorious.org/qt-creator/pages/FrequentlyAskedQuestions的常见问题解答我找到了答案
Qt Creator使用其运行的系统的语言设置.在Linux系统上,您还可以通过在启动Qt Creator之前设置LANG环境变量来覆盖该语言,例如在命令行上LANG = de ./qtcreator将运行带有德语接口的Qt Creator.
然而,这显然是不正确的,因为我有一个英文Windows,并且作为系统区域设置我有"英语(英国)"设置.可能Qt Creator错误地解释了"当前位置"的Windows设置,我将其设置为"德国"意味着德语也将是我的语言.但是,更改该值显然没有效果(可能应该在安装Qt Creator之前完成).
安装后,有没有办法将Qt creator的UI语言更改为英语,最好不要调整全局系统设置?
我希望#define在C++源代码中有一个变量(或),每次使用Qt Creator构建源代码时都会增加.有什么方法可以做到这一点,也许是一些Qt Creator插件或类似的?如果我在命令行上使用"make"进行构建,有办法吗?
有什么命令/快捷方式可以在Sublime Text 3上自动在页面上自动添加我的所有代码吗?
例如:在NetBeans上,我可以用__CODE__+ __CODE__+来完成__CODE__.
这是我的示例代码:
class hoho : public QObject
{
Q_OBJECT
public:
hoho()
{
httpFetch = new HttpFetch(QUrl("http://www.google.com/"));
connect(httpFetch, SIGNAL(Fetched()), this, SLOT(PrintData(QByteArray)));
}
void PrintData(QByteArray http)
{
qDebug()<<http;
}
HttpFetch *httpFetch;
};
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它时,弹出以下错误
1>main.cpp(15): error C2243: 'type cast' : conversion from 'HttpFetch *' to 'const QObject *' exists, but is inaccessible
Run Code Online (Sandbox Code Playgroud)
这个错误来自于派生类QObject(信号和插槽机制所必需的).
谁能告诉我如何解决这个问题?
qt ×8
c++ ×3
qt-creator ×2
eclipse ×1
gtk ×1
keyevent ×1
layout ×1
makefile ×1
qgridlayout ×1
qt4 ×1
qt5 ×1
sublimetext ×1
sublimetext3 ×1
tabs ×1
timer ×1