zoukankan      html  css  js  c++  java
  • Qt的零碎知识

    1.QObject是所有Qt对象的基类,他给C++的类带来了若干新的功能。使用Q_OBJECT宏能声明一个C++类为一个QObject。如:

     1 class Notepad : public QMainWindow
     2 {
     3     Q_OBJECT
     4 
     5 public:
     6     explicit Notepad(QWidget *parent = 0);
     7     ~Notepad();
     8 
     9 private:
    10     Ui::Notepad *ui;
    11 };
    View Code

    3.类A有界面类成员widget,widget放入QStackedWidget中,若已经通过setFixedSize设定widget的大小,在利用setCurrentIndex(index)显示widget时可能会失败。

    4. 

    int main(int argc, char* argv[])
    {
        QApplication a(argc,argv);
        Widget w;
        myDlg my1; //建立自己新建的类的对象my1
        if(my1.exec()==QDialog::Accepted) //利用Accepted信号判断 enterBtn是否被按下
        {
              w.show(); //如果被按下,显示主窗口
              return a.exec(); //程序一直执行,直到主窗口关闭
        }
        else return 0; //如果没被按下,则不会进入主窗口,整个程序结束运行
    } 

     5.新建项目时,类总要继承QWidget,QDialog或QMainWindow中之一,如果之后修改该类为不继承这三者,会出现错误。推测既然在建工程时必须继承三者之一,那么意味着之后也不能随便改,至于究竟是为什么,暂不清楚。

    6. 类中若有成员QWidget widget会出现错误“QWidget: Cannot create a QWidget without QApplication”,因为若QWidget作为类中的成员,没有相应的QApplication去管理它的资源。

    7.

    QHBoxLayout * p1 = new QHBoxLayout(this);
    QVBoxLayout * mainLayout = new QVBoxLayout(this);
    mainLayout->addLayout (p1);

    会提示:mainLayout加入一个已有父亲的布局p1.而且运行后发现界面混乱……把第一句改为QHBoxLayout * p1 = new QHBoxLayout();

  • 相关阅读:
    作业七—“南通大学教务管理系统微信公众号”用户体验分析
    作业6—成绩录入系统设计(第一阶段)
    作业5-需求分析(EX:南通大学成绩录入系统)
    几次接触Collection排序使用总结
    作业4-两人编程<词频统计>
    ACE智能指针
    Buddy Memorry
    子数组和与积
    数字转化为大写(16位以下)
    【阿里巴巴-飞猪旅行-内推】2020年应届实习生招聘
  • 原文地址:https://www.cnblogs.com/cszlg/p/3229103.html
Copyright © 2011-2022 走看看