如何将gtkmm窗口设置为在屏幕中央打开
how to set gtkmm window to open in the centre of the screen?
我正试图在屏幕中央打开GTKmm中的窗口,但我在网上找不到有效的解决方案。有什么见解吗?
我一直在尝试我能想到的一切,但没有结果。。。
这是我的代码:
#include "viewMenu.h"
#include <iostream>
#include <fstream>
#define MAX_BUF 10
viewMenu::viewMenu()
: frmMenu("cuTAES Review Menu"),
lblChooser("Select Course : "),
lblCourses(""),
lblView(" View "),
lblAppInfo(" Application Info "),
lblStuInfo(" Student Info "),
btnView(" View this Application "),
btnBack(" Back "),
frameTable(4,4,true)
{
set_title("cuTAES Review Menu ");
//set_border_width(50);
add(frameTable);
window.set_position(Gtk::WIN_POS_CENTER);
//frmMenu.add(lblChooser);
//frameTable.attach(frmMenu,0,1,0,0);
frameTable.attach(lblChooser, 1,2,0,1);
char text[MAX_BUF];
std::ifstream inFile("courses.txt", std::ios::in);
if(!inFile){
exit(1);
}
while(!inFile.eof()) {
inFile.getline(text,MAX_BUF);
cboCourse.append(text);
}
frameTable.attach(cboCourse, 2,3,0,1);
//set up my table
frameTable.attach(lblView, 0,1,0,1);
frameTable.attach(lblStuInfo, 0,1,1,2);
frameTable.attach(lblAppInfo, 2,3,1,2);
btnView.signal_clicked().connect(sigc::mem_fun(*this,&viewMenu::btnView_clicked));
frameTable.attach(btnView,3,4,0,1);
btnBack.signal_clicked().connect(sigc::mem_fun(*this, &viewMenu::btnBack_clicked));
frameTable.attach(btnBack,3,4,3,4);
show_all_children();
}
和我的头文件:
#ifndef VIEWMENU_H
#define VIEWMENU_H
#include <gtkmm.h>
class viewMenu : public Gtk::Window
{
public:
viewMenu();
virtual ~viewMenu();
protected:
//Signal handlers:
void btnView_clicked();
void btnBack_clicked();
//Member widgets:
Gtk::Table frameTable;
Gtk::Label lblChooser,lblCourses, lblView, lblAppInfo, lblStuInfo, lblCourseDrop;
Gtk::Frame frmMenu;
Gtk::Button btnView, btnBack;
Gtk::ComboBoxText cboCourse;
Gtk::Window window;
};
#endif // MAINMENU_H
viewMenu类继承自Gtk::Window类。只需使用set_position函数即可设置窗口的位置。代替:
window.set_position(Gtk::WIN_POS_CENTER);
用途:
set_position(Gtk::WIN_POS_CENTER);
相关文章:
- Windows 10-使用gtkmm-3.0库和g++[包括再现]的分段故障
- UE4-如何在给定4个屏幕坐标的情况下缩放纹理或材质
- 如何在GTK程序运行时禁用屏幕保护程序/电源管理/屏幕消隐
- C++GTKMM gui循环依赖关系
- 使用 SFML 和 C++ 将 Pixel 打印到屏幕上
- gtkmm 显示文件内容
- 在 Windows 8/10 技术中完全实时的屏幕捕获,没有延迟
- Winapi:屏幕截图未显示在窗口中
- Gtkmm 会不断检查 Gtk::日历上的所选日期是否发生变化
- 如何在快板的屏幕中显示子位图的绘制?
- 使用 Gtkmm 以编程方式选择 Gtk::TextView 中的文本
- 按回车键后输出屏幕关闭
- 要在屏幕上绘制一些小瓷砖,我应该使用 QQuickItem 还是 QQuickPaintedItem?
- 如何在代码块中安装 gtkmm?
- SFML 向下移动时如何围绕屏幕中心旋转?
- 在 gtkmm 中异步加载图像
- 截取屏幕截图后程序卡住
- C++鼠标单击时的屏幕截图不起作用
- GTKMM:拍摄绘图区域的屏幕截图?
- 如何将gtkmm窗口设置为在屏幕中央打开