Dzięki z odpowiedzi.
Przepisałem fragmenty programu tak żeby wyszła aplikacja okienkowa z kodem, z którym miałem problemy.
Nie wiem co się stało, ale w tej małej aplikacji, gdzie kod jest praktycznie ten sam, skróty klawiszowe mi działają, okienko zmienia rozmiar na podany (wcześniej też nie mogłem tego zrobić), tylko mam jeszcze problem z tym QScrollBarem. Podaję kod:
TestDocument.h
#ifndef TESTDOCUMENT_H
#define TESTDOCUMENT_H
#include <QtGui>
#include <QPlainTextEdit>
class TestDocument : public QPlainTextEdit
{
Q_OBJECT
public:
TestDocument();
};
#endif // TESTDOCUMENT_H
TestDocument.cpp
#include <TestDocument.h>
TestDocument::TestDocument()
{
setStyleSheet("QPlainTextEdit{"
"color: white; background-color: black}"
"QScrollBar:vertical{background:black}"
"QScrollBar::handle:vertical {border: 1px solid #FFFFFF; min-height: 30px}"
"QScrollBar::add-line:vertical {height: 0px}"
"QScrollBar::sub-line:vertical {height: 0px}");
}
TestApplication.h
#ifndef TESTAPPLICATION_H
#define TESTAPPLICATION_H
#include <TestDocument.h>
#include <QMainWindow>
#include <QShortcut>
#include <QVBoxLayout>
class TestApplication : public QMainWindow
{
Q_OBJECT
public:
TestApplication();
private:
QVBoxLayout *layoutMain;
QWidget *window;
TestDocument *document;
QShortcut *shortcutShowFullScreen;
bool fullScreenEnabled;
private slots:
void ShowFullScreen();
};
#endif // TESTAPPLICATION_H
TestApplication.cpp
#include <TestApplication.h>
TestApplication::TestApplication()
{
int sizeX = 700;
int sizeY = 400;
fullScreenEnabled = false;
document = new TestDocument;
shortcutShowFullScreen = new QShortcut(QKeySequence("Alt+F"), this);
connect(shortcutShowFullScreen, SIGNAL(activated()), this,
SLOT(ShowFullScreen()));
layoutMain = new QVBoxLayout;
layoutMain->addWidget(document);
window = new QWidget;
window->setLayout(layoutMain);
setCentralWidget(window);
setMinimumSize(400, 200);
resize(sizeX, sizeY);
}
void TestApplication::ShowFullScreen()
{
fullScreenEnabled = !fullScreenEnabled;
if (fullScreenEnabled == true)
showFullScreen();
if (fullScreenEnabled == false)
showNormal();
}
main.cpp
#include <QApplication>
#include <TestApplication.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
TestApplication testApp;
testApp.show();
return app.exec();
}
A całość wygląda tak:
I chodzi mi o to tło ScrollBara, ta drobna biało-czarna krateczka która powinna być czarna. Na Linuksie wyglądało to tak jak powinno, a na Windowsie nie wiem o co chodzi.
A co do reszty kłopotów, przed chwilą skomentowałem jedną, linijkę która nie powinna mieć znaczenia, i po skompilowaniu wysypała się cała masa błędów. Także pewnie będę musiał przepisać wszystko na nowo.