1. main.cpp的文件中必须包含<QApplication>,其他的根据设计到的控件和类进行添加;
2. 在类定义时必须包含Q_OBJECT,因为如果不包括可能造成信号和槽机制不能正常运行,导致出错;
如果删掉Q_OBJECT宏,则编译没有任何问题。郁闷了几个小时,后在网上找到了解决办法:重新运行qmake,问题解决。出现该问题的可能的原因是:qmake生成Makefile的时候,这个类的头文件中并没有Q_OBJECT,所以在相应的Makefile里面并没有用moc xxx.h命令,最终导致链接失败。qmake不会处理.cpp文件里的Q_OBJECT,所以,如果在.cpp文件中有它的话,也会产生vtable编译错误。这时,需要先用moc xxxx.cpp生成相应的moc文件,再包含到.cpp里面去,才能解决这个问题。这里可以发现问题的出现是因为没有moc生成相应的moc文件,之后连接就出问题。
3. 界面设计的基本步骤,设计界面的形象化画面(主要是包含什么),把其转化为控件表达,构思设计布局,利用布局管理器进行设计;编程的步骤:首先添加控件设计(主要有按钮、QEditLine、QLabel、QEditBox、QCheckBox等),添加控件到相应的布局,其次就是添加控件对应的信号和槽,最后添加布局添加到主布局窗口;基本的窗口操作就是这么简单。
4. setWindowTiltle(tr(“”))设置窗口标题的内容;
setIcon可以修改按钮的显示图像,不过图像要进行加载;
setFrameStyle设置标签按钮的类型;
setMargin设置布局中各窗体中的显示间距;
setSpacing设置布局中窗体的显示空间;
setCellWidget ( int row, int column, * widget ),设置表格的显示形式,可以为
QTableWidgetItem、QDateTimeEdit等;
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
5. 标准对话框的使用:QFileDialog是文件标准对话框的类,其中可以获取打开对话框的名字等;QColorDialog是颜色对话框,是以QFrame的形式显示的;QFontDialog是文字标准对话框,获取设置所显示的字体;
6. moveEvent和resizeEvent是响应对话框移动和大小调整事件,可以重新定义;
7. 标准输入框QInputDialog::getText标准输入框,QInputDialog::getItem标准组合选项,QInputDialog::getInteger标准整数框,QInputDialog::getDouble标准小数框;
8. QMessageBox中有各种消息框的使用,question,information,warning,critical,aboutQt;当然也可以自定义消息窗口,设置一个QMessageBox类进行自定义,如窗口命名,窗口内的按钮和窗口的提示和图像显示,最后要调用exec()这个函数来显示自定义窗口;
9. 加载图像资源的方法:1)在main.cpp主函数运行时,添加这个Q_INIT_RESOURCE(configdialog),其中configdialog是程序中添加的资源;添加资源时最好放在工程的同目录文件夹中,在使用图像资源时例子如 setIcon(QPixmap(“:/images/bb.png”)),文件存储地址和名字一定要写对了;2)利用QPixmap类中的load函数进行图像的处理img.load(pix_name); setIcon(QIcon(img)); setFixedSize(img.size());
10. QToolBox的抽屉效果:QToolBox提供了一种列状的层叠窗口;QToolButton提供一种快速访问命令或选择项的按钮,通常在工具条中使用;QGroupBox相当于提供一个抽屉,而我的布局就以抽屉为显示控件,最后再将其添加到QToolBox的对象中。
11. 生成QTableWidget类来显示表格,QTableWidgetItem类对象调用setItem函数添加QTableWidgetItem 类对象显示文本;
这篇博客总结了Qt编程中的关键知识点,包括Q_OBJECT宏的重要性,界面设计步骤,窗口标题与图标的设置,布局管理,以及各种对话框如QFileDialog、QColorDialog和QFontDialog的使用。此外,还涉及QInputDialog、QMessageBox、图像资源的加载方法以及QToolBox和QTableWidget等控件的应用。
3008

被折叠的 条评论
为什么被折叠?



